我有 2 组asp:TextBox
和asp:Button
控件,其中一组在更新面板内,另一组在外部..
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button Text="text" runat="server" ID="btn1"/>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Button Text="text" runat="server" ID="btn2"/>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
代码隐藏
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Text = TextBox2.Text;
}
现在我的问题是,Updatepanel 究竟是如何工作的?
实际上我认为,btn1
单击时,只有 UpdatePanel 的内容作为请求发送到服务器,而响应来自服务器仅发送到该更新面板。
因此,我在 TextBox2 中输入了一些文本并单击了btn1
.. 但令人惊讶TextBox1
的是,文本变成了TextBox2
..
然后我想,整个页面作为请求发送到服务器,响应只发送到该 updatePanel 并相应更新..
现在我检查了 Google Chrome 开发者工具中的两个请求(即 Request frombtn1
和)。再次令我惊讶的是,请求btn2
有所不同。Content-Length
如果更新面板之外有更多控件,那么Content-Length
来自的请求会更多btn2
有人可以对此有所了解吗..