2013-09-18 2 views
1

У меня на моей странице есть простой текстовый блок со встроенным блоком кода, где я устанавливаю его значение. Но в браузере он все еще отображает «oldvalue». Не могу понять, почему ..Значение текстового поля неверно при отображении в браузере

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

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

Удален классический тег ASP. ASP.NET <> ASP. И вы также не должны использовать его таким образом. –

ответ

2

Это не будет работать в качестве встроенных выражений <% %> выполняются после prerender события в asp.net жизненного цикла страницы.

И последние изменения, которые вы можете внести в содержимое страницы или ее элементов управления, составляют до PreRender, так что любые изменения состояния представления серверного элемента управления могут быть сохранены во время этого события. MSDN reference here.

Таким образом, вместо того, чтобы использовать встроенные выражения, использовать любое событие Шифрование до PreRender событий жизненного цикла страницы в коде, чтобы изменить TextBox.Text свойство.

Смежные вопросы