2012-06-21 48 views
0

我的頁面上有兩個asp.net updatepanels。其中一個有複選框,另一個有一些標籤。當複選框被選中/取消選中時,我想更新第二個更新面板的內容。我正在使用以下代碼:部分頁面回發使用javascript/jquery

var prm = Sys.WebForms.PageRequestManager.getInstance(); 
prm._doPostBack('UpdatePanel2', ''); 

但它正在進行整頁回發。

請提出解決方案。

回答

0

看來你正在尋找更新面板的觸發器,你不需要通過javascript來觸發它...

1

您可以設置複選框的AutoPostBack設置爲True,並且使其成爲第二個UpdatePanel中的觸發器:

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 

<asp:UpdatePanel ID="UpdatePanel2" runat="server"> 
    <ContentTemplate> 
     <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="CheckBox1" EventName="CheckedChanged" /> 
    </Triggers> 
</asp:UpdatePanel> 

然後您可以在複選框的「CheckedChanged」事件處理程序中添加標籤更改代碼,例如

protected void CheckBox1_CheckedChanged(object sender, EventArgs e) 
{ 
    Label2.Text = DateAndTime.Now; 
}