我正在尝试将Text
控件的<asp:TextBox />
属性绑定到静态方法的静态属性。
<asp:TextBox ID="TextBox1" Text='<%# Test.Text("ID") %>' runat="server"></asp:TextBox>
从:
public static class Test
{
public static string Text(string text)
{
return text;
}
}
但它似乎没有起作用。如果我在方法中设置断点,它永远不会被击中。
以下HTML将返回给浏览器:
<input name="ctl00$m$g_007ce7d6_239f_413c_a8e9_8ed90deb20b1$ctl00$TextBox1" type="text" id="ctl00_m_g_007ce7d6_239f_413c_a8e9_8ed90deb20b1_ctl00_TextBox1">
但是,当我使用<%=
标记调用该方法时,正确编译标记并将字符串返回给浏览器:
<%= this.Test.Text("ID") %>
编译器没有错误。
答案 0 :(得分:2)
您正在使用<%# Test.Text("ID") %>.
参考Data-Binding expression syntax。
只有在调用DataBind时才会绑定此数据,如下所示:
Page.DataBind();
调用它的好地方是页面的Load事件。