我在用户控件的页面关联js文件的异步回发之后在更新面板中放置了一个用户控件,这样就没有任何方法可以在另一个单词中从updatepanel中排除控件我不想发布用户控制。
<asp:UpdatePanel ID="upPnlAnswerList" runat="server">
<ContentTemplate>
// another code that required to placed inside updatepanel
<div id="miancontainer" class="containerr"
<klmsuc:Share ID="shareUserControl" runat="server" />
// another code that required to placed inside updatepanel
</div>
答案 0 :(得分:12)
使用PostBackTrigger执行排除,而不必指定大量包含。
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:LinkButton ID="lnkExport" runat="server" OnClick="lnkExport_Click" Text="Export Data"></asp:LinkButton>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="lnkExport" />
</Triggers>
</asp:UpdatePanel>
答案 1 :(得分:0)
设置UpdateMode = Conditional并为UpdatePanel提供独占触发器。
答案 2 :(得分:0)
你必须在代码后面和右边的事件中添加一些控件,并将其注册为排除(postback)而不是AsyncPostBack,这是一个ajax调用。
<强> ScriptManager.GetCurrent(本).RegisterPostBackControl(btnAdd); 强>
https://stackoverflow.com/a/23036830/184572
protected void grdExpense_RowCreated(object sender, GridViewRowEventArgs e)
{
LinkButton btnAdd = (LinkButton)e.Row.Cells[0].FindControl("btnAdd");
if (btnAdd != null)
{
ScriptManager.GetCurrent(this).RegisterPostBackControl(btnAdd);
}
}
寻找另一个排除网格视图中所有控件的类似页面
private void RegisterPostBackControl()
{
foreach (GridViewRow row in GridView1.Rows)
{
LinkButton lnkFull = row.FindControl("lnkFull") as LinkButton;
ScriptManager.GetCurrent(this).RegisterPostBackControl(lnkFull);
}
}