我有2套asp:TextBox
與更新面板和另一外內一組asp:Button
控制工作..的UpdatePanel中的請求和響應方面
<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;
}
現在我的問題是,如何更新面板工作?
其實我以爲,在btn1
點擊只有UpdatePanel的內容被髮送到服務器作爲請求和響應來自服務器到只有該更新面板。
所以,我在TextBox2中輸入一些文字,點擊btn1
..但令人驚訝的TextBox1
文本得到了改變,以作爲的TextBox2
..
後來我想,整個頁面被髮送到服務器的請求和響應來只有到的UpdatePanel,並進行相應的更新..
現在我檢查都在谷歌Chrome開發者工具的要求(即,從btn1
和btn2
請求)..再次出乎我的意料,有在請求Content-Length
差異..
如果有更新面板之外更多的控制,則Content-Length
會比較與請求從btn2
可能有人把一些光在這個..
我發現,在請求和響應無差異通過使'的UpdateMode =「條件」'...'UpdateMode'真叫感覺什麼時候有多個UpdatePanel,如果我沒有錯的話.. – dotNETbeginner
不,不是這種情況..如果你不想更新面板的時候,你把它設置爲Conditional ..在這種情況下,你做了當點擊btn2時,不希望內容刷新..在這種情況下,它是有幫助的。您是否在頁面上設置了EnablePartialRendering =「true」。您是否也在瀏覽器的控制檯部分看到任何錯誤.. –
當單擊'btn2'時,無論您做什麼,它都會將整個頁面回發給服務器,並且整個頁面都會刷新..並且默認情況下'EnablePartialRendering'爲'true' .. – dotNETbeginner