Я устанавливаю значение элементов управления при загрузке DOM.У меня есть этот супер простой код на странице aspx:
<script type="text/javascript">
$(document).ready(function () {
$('#<%=textBox2.ClientID %>').val($('#<%=textBox1.ClientID %>').val());
$('#<%=lblVal.ClientID %>').html($('#<%=textBox1.ClientID %>').val());
});
</script>
<asp:TextBox runat="server" ID="textBox1" Text="Test data" />
<asp:TextBox runat="server" ID="textBox2" />
<asp:Label runat="server" ID="lblVal" Text="Old Data" />
<asp:Button runat="server" Text="Click Me" onclick="Unnamed1_Click" />
В моем обработчике событий нажатия кнопки у меня есть этот код:
protected void Unnamed1_Click(object sender, EventArgs e)
{
Debug.Write(textBox2.Text);
Debug.Write(lblVal.Text);
}
То, что шокировало меня, lblVal имеет старыйзначение.Установка значения в javascript на самом деле не влияет на метку, тогда как данные textbox2 отражаются на сервере.Является ли предполагаемое поведение текстового поля и метки?Это стало для меня неожиданностью, потому что я никогда раньше не сталкивался с этим.