[英]ASP.NET UpdatePanel dosn't work with Response.Write in Page_Load
我有那個例子:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<fieldset>
<legend>UpdatePanel</legend>
<asp:Label ID="Label1" runat="server" Text="Panel created."></asp:Label><br />
</fieldset>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
protected void Page_Load(object sender, EventArgs e)
{
// doesn work with:
Response.Write("eg.");
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Refreshed at " + DateTime.Now.ToString();
}
這很好。 當我單擊Button
, Label
更新而不刷新頁面,但是如果我在Page_Load
事件中具有Response.Write
,則當我單擊按鈕時, UpdatePanel
不起作用,並且需要Page_Load
。
我該如何解決我的問題? 謝謝。
不要在Page_Load
函數中使用Response.Write()
,因為它將破壞UpdatePanel
。
實際上,使用Response.Write()
通常不是一個好主意,因為您無法控制DOM寫入內容的最終位置。 相反,如果您需要一些簡單的調試輸出,請使用其他方法,例如System.Diagnostics.Debug.WriteLine()
。 或者,如果您需要向DOM中添加內容,則添加諸如Label
的控件並對其進行操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.