2010-12-08 4 views
4

J'ai placé un contrôle utilisateur dans le panneau de mise à jour après avoir fait une publication asynchrone de la page associée au fichier js de ce contrôle utilisateur ne fonctionne pas, donc il existe une méthode pour exclure un contrôle de updatepanel dans un autre mot je ne veux pas poster ce contrôle utilisateur.asp.net: exclure le contrôle dans updatepanel de faire une publication asynchrone

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

Répondre

11

Utilisez un PostBackTrigger pour effectuer l'exclusion plutôt que d'avoir à spécifier un grand nombre de comprend.

<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

vous devez ajouter des contrôles dans le code derrière et dans l'événement et l'enregistrer pour l'exclusion (postback) au lieu et AsyncPostBack qui est un appel ajax.

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); 
     } 

    } 

chercher une autre page similaire qui exclut tous les contrôles dans un 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); 
    } 
} 
Questions connexes