我試圖使用UpdatePanel,但無法使部分頁面更新正常工作。UpdatePanel不會執行部分頁面更新,並且IsInAsyncPostBack始終爲假
當我看到ScriptManager的IsInAsyncPostBack財產,它總是假的。
下面是重現問題的頁面。它有一個ScriptManager,一個UpdatePanel,更新面板中的LinkButton,以及一個通過Triggers集合連接到UpdatePanel的Button。
<%@ Page Language="C#" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = DateTime.Now.ToString();
if (IsPostBack)
Label1.Text += " - Postback!";
if (ScriptManager1.IsInAsyncPostBack)
Label1.Text += " - Async!";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" EnablePartialRendering="true" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>Panel 1:<asp:Label runat=server ID=Label1 /><br />
<asp:LinkButton runat=server ID="LinkButton1" Text="Update!"></asp:LinkButton></ContentTemplate>
<Triggers><asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" /></Triggers>
</asp:UpdatePanel>
<asp:Button ID="Button1" Text="Refresh Panel 1" runat="server" UseSubmitBehavior=false />
</form>
</body>
</html>
如果我運行此代碼,然後單擊任一按鈕,我看到了「第1小組:2010/2/8下午3時38分41秒 - 回傳」
我預計,點擊任一按鈕將導致對UpdatePanel1一個部分頁面更新,這IsInAsyncPostBack將是真實的,那!「 - 異步」將被附加到Label1。
任何想法爲什麼IsInAsyncPostBack總是假?
如果調試它,多少次,當你點擊任一按鈕在Page_Load被打中?只是在黑暗中拍攝... – Jagd 2010-02-09 00:17:57
只有一次,賈格德。 OMG! – 2010-02-09 18:55:43