在浏览器中显示时,文本框的值不正确

时间:2013-09-18 07:42:41

标签: asp.net

我的页面上有一个简单的文本框,其中包含嵌入式代码块,我在其中设置了它的值。但在浏览器中它仍显示“oldvalue”。无法弄清楚为什么..

<asp:TextBox id="textBox" runat="server" Text="oldvalue">
</asp:TextBox>     

<%
    var box = FindControl("textBox") as TextBox;
    box.Text = "newvalue";
%>  

1 个答案:

答案 0 :(得分:2)

这不起作用,因为内联表达式<% %>在asp.net页面生命周期中的prerender事件之后执行。

您可以对页面内容或其控件进行的最后一次更改是PreRender事件,因此在此事件期间可以保存服务器控件的视图状态的任何更改。的 MSDN reference here.

因此,不要使用内联表达式,而是在代码中使用页面生命周期最多PreRender个事件来更改TextBox.Text属性。