2010-12-08 24 views
4

私は、そのユーザーコントロールのページ関連のjsファイルの非同期ポストバックを行った後にユーザーコントロールを配置しました。コントロールを除外するメソッドがあるので私はそのユーザーコントロールを投稿したくない別の言葉でupdatepanelから。asp.net:非同期ポストバックから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> 

答えて

11

がかなり含まれての大規模な数を指定するより除外を実行するために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> 
0

は、あなたの代わりにとAsyncPostBack AJAX呼び出しであるの背後にあるコードでは、右のイベントでいくつかのコントロールを追加し、除外(ポストバック)のためにそれを登録する必要があります。

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

    } 

外観

関連する問題