asp.net : exclude control in updatepanel from doing async postback

孤街醉人 提交于 2019-12-23 11:36:54

问题


I have placed a user control inside update panel after doing asynchronous postback of page associated js file of that user control is not working so that is there any method to exclude a control from updatepanel in another word i don't want to post that user control.

<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>

回答1:


Set UpdateMode=Conditional and provide exclusive Triggers for the UpdatePanel.

See: http://msdn.microsoft.com/en-us/library/bb386454.aspx




回答2:


Use a PostBackTrigger to perform exclusion rather than having to specify a large number of includes.

<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>



回答3:


you must add some controls in code behind and in the right event and register it for exclusion(postback) instead and AsyncPostBack which is a ajax call.

ScriptManager.GetCurrent(this).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);
        }

    }

look for another similar page which excludes all the controls in a gridview

http://www.aspsnippets.com/Articles/Assign-PostBack-Trigger-Full-PostBack-for-LinkButton-inside-GridView-within-AJAX-UpdatePanel-in-ASPNet.aspx

private void RegisterPostBackControl()
{
    foreach (GridViewRow row in GridView1.Rows)
    {
        LinkButton lnkFull = row.FindControl("lnkFull") as LinkButton;
        ScriptManager.GetCurrent(this).RegisterPostBackControl(lnkFull);
    }
}


来源:https://stackoverflow.com/questions/4385197/asp-net-exclude-control-in-updatepanel-from-doing-async-postback

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!