2セットのコントロールがasp:TextBox
ありasp:Button
、1セットはアップデートパネルの内側に、もう1セットは外側にあります。
<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のコンテンツのみが要求としてサーバーに送信され、応答はサーバーからそのupdatepanelのみに送信されると思いました。
そこで、TextBox2にテキストを入力してクリックしbtn1
ましたが、意外とテキストが..のTextBox1
ように変更されました。TextBox2
次に、ページ全体が要求としてサーバーに送信され、応答はそのupdatePanelにのみ送信され、それに応じて更新されると思いました。
ここで、Google Chromeデベロッパーツールで両方のリクエスト(つまり、リクエスト元btn1
と)を確認しました。驚いたことに、リクエストbtn2
には違いがあります。Content-Length
更新パネルの外側にさらに多くのコントロールがある場合はContent-Length
、btn2
誰かがこれに光を当てることができますか。