我试图以声明方式将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; %>
这是否可能,如果是这样的话?
答案 0 :(得分:7)
这是最好的方法。
<asp:TextBox ID="myTxt" runat="server" Text='<%# MyNamespace.MyClass.StaticString %>' />
你说你试过了,但诀窍是你必须在页面本身上调用DataBind()。 &lt;%#%&gt;是一个数据绑定表达式,当调用DataBind()时,将填充该值。
您可以在文本框本身上调用DataBind,但最好是在页面上调用以获取所有内容(递归工作)。你想要保持一致并且只在页面上调用它'因为在控件上多次调用DataBind()可能会产生负面后果(列表中的重复数据等)。
答案 1 :(得分:0)
试试以下内容。
<asp:TextBox ID="myTxt" runat="server"></asp:TextBox> <% myTxt.Text= " Whatever you want" %>
答案 2 :(得分:-1)
首先,给每个文本框添加自己的ID。该ID应该在页面上的所有元素中都是唯一的。
然后在后面的代码中(尝试开始页面的加载事件),你会想要这样的东西:
myTxt.Text = MyNamespace.MyClass.StaticString
编辑: 你试过这个吗?
<asp:TextBox ID="myTxt" runat="server"><% CodeBehind.FunctionOrProperty %></asp:TextBox>