0

我正在尝试将控件的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") %>

我没有从编译器得到任何错误。

4

1 回答 1

2

您正在使用<%# Test.Text("ID") %>.

请参阅数据绑定表达式语法

只有在调用 DataBind 时才会绑定此数据,如下所示:

Page.DataBind();

调用它的好地方是页面的 Load 事件。

于 2012-08-08T04:08:39.263 回答