可以声明性地设置TextBox文本吗?

Kas*_*man 2 c# asp.net webforms

我试图以声明方式将TextBox控件的Text属性设置为变量的值.我发现将设置text属性的唯一方法是将其放在代码隐藏页面中,这是我想要避免的.

我试图做以下所有事情,但没有成功:

<asp:TextBox ID="myTxt" runat="server" Text='<%# MyNamespace.MyClass.StaticString %>' />
<asp:TextBox ID="myTxt" runat="server" Text='<%= MyNamespace.MyClass.StaticString %>' />
<asp:TextBox ID="myTxt" runat="server" Text='<% Response.Write(MyNamespace.MyClass.StaticString); %>' />
<asp:TextBox ID="myTxt" runat="server" /><% myTxt.Text = MyNamespace.MyClass.StaticString; %>
Run Code Online (Sandbox Code Playgroud)

这是否可能,如果是这样,怎么样?

Sam*_*eff 7

这是最好的方法.

<asp:TextBox ID="myTxt" runat="server" Text='<%# MyNamespace.MyClass.StaticString %>' />
Run Code Online (Sandbox Code Playgroud)

你说你试过了,但诀窍是你必须在页面本身上调用DataBind().<%#%>是数据绑定表达式,并且在调用DataBind()时将填充该值.

您可以在文本框本身上调用DataBind,但最好是在页面上调用以获取所有内容(递归工作​​).你想要保持一致并且只在页面上调用它'因为在控件上多次调用DataBind()可能会产生负面后果(列表中的重复数据等).