我的頁面上有兩個asp.net updatepanels。其中一個有複選框,另一個有一些標籤。當複選框被選中/取消選中時,我想更新第二個更新面板的內容。我正在使用以下代碼:部分頁面回發使用javascript/jquery
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm._doPostBack('UpdatePanel2', '');
但它正在進行整頁回發。
請提出解決方案。
我的頁面上有兩個asp.net updatepanels。其中一個有複選框,另一個有一些標籤。當複選框被選中/取消選中時,我想更新第二個更新面板的內容。我正在使用以下代碼:部分頁面回發使用javascript/jquery
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm._doPostBack('UpdatePanel2', '');
但它正在進行整頁回發。
請提出解決方案。
看來你正在尋找更新面板的觸發器,你不需要通過javascript來觸發它...
您可以設置複選框的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;
}