2008-08-30 3 views
1

コードのないテキストボックス値にメソッドの出力を割り当てるにはどうすればよいですか?コードのないテキストボックス値にメソッドの出力を割り当てる方法

<%@ Page Language="VB" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<script runat="server"> 
    Public TextFromString As String = "test text test text" 
    Public TextFromMethod As String = RepeatChar("S", 50) 'SubSonic.Sugar.Web.GenerateLoremIpsum(400, "w") 

    Public Function RepeatChar(ByVal Input As String, ByVal Count As Integer) 
     Return New String(Input, Count) 
    End Function 
</script> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
    <title>Test Page</title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <%=TextFromString%> 
     <br /> 
     <asp:TextBox ID="TextBox1" runat="server" Text="<%# TextFromString %>"></asp:TextBox> 
     <br /> 
     <%=TextFromMethod%> 
     <br /> 
     <asp:TextBox ID="TextBox2" runat="server" Text="<%# TextFromMethod %>"></asp:TextBox>   
    </div> 
    </form> 
</body> 
</html> 

ほとんどの場合、デザイナーの人がaspxページで使用できるようになっていました。変数値をテキストボックスにプッシュするのは簡単です。

<asp:Label runat="server" ID="label1"><%=TextFromString%></asp:Label> 

<asp:TextBox ID="TextBox3" runat="server">Hello</asp:TextBox> 

作品が、

<asp:TextBox ID="TextBox4" runat="server"><%=TextFromString%></asp:TextBox> 

は、コンパイルエラーが発生する理由を

それはまた私に混乱しています。

答えて

2

.ASPXファイルには、いくつかの異なる表現タイプがあります。

<%= TextFromMethod %> 

リテラルコントロールを予約して、レンダリング時にテキストを出力するだけです。

した後あります:

<%# TextFromMethod %> 

制御データバインド(あるときに評価データバインディング式、です)。それは.textセクションのプロパティにリテラルを挿入しようとするので、<%= %>方法は動作しません、

<%$ ConnectionStrings:Database %> 

が、それはここでは本当に重要ではありません....だから、

:そこの式ビルダーは次のように、またです...明らかに、あなたが望むものではありません。

テキストボックスがデータバインドされていないため<%# %>方法は動作しません。またの両親のいずれかがあります。 TextBoxがRepeaterまたはGridViewにあった場合、このメソッドは機能します。

だから何をすればいいですか?ある時点でTextBox.DataBind()に電話するだけです。または、1つ以上のコントロールがある場合は、Page_LoadPage.DataBind()と電話するだけです。

Private Function Page_Load(sender as Object, e as EventArgs) 
    If Not IsPostback Then 
     Me.DataBind() 
    End If 
End Function 
1

サーバーコントロールの代わりにHTMLコントロールを使用しようとしましたか?コンパイルエラーの原因にもなりますか?

<input type="text" id="TextBox4" runat="server" value="<%=TextFromString%>" /> 
関連する問題