2016-05-28 1 views
0

Impossible de faire ce travail.bouton asp sur clic à l'intérieur du modèle d'élément ne se déclenche pas

<asp:TemplateField> 
    <ItemTemplate> 
     <asp:Button ID="btnApprove" runat="server" Text="Approve" OnClick ="btnApprove_Click" /> 
    </ItemTemplate> 
</asp:TemplateField> 

code derrière:

protected void btnApprove_Click(object sender, EventArgs e) 
{ 
    Response.Redirect("viewprofile.aspx"); 
} 

pas de tir, même lorsque le bouton est cliqué. des astuces à ce sujet?

+0

vient de mettre un lable et modifier le texte de l'étiquette lorsque l'événement bouton de clic et voir le texte de l'étiquette est le changement ou non ..... –

+0

pas tirer même la réponse redirigée monsieur @ PHPDeveloper –

+0

utilisez-vous un panneau de mise à jour? –

Répondre

0

Set EnableEventValidation="false" droite en haut de votre directive:

<%@ Page EnableEventValidation="false" Language="C#" ...

méfiez-vous que la mise en valeur de cette false peut exposer votre site à vulnerabilities.As de sécurité une alternative, au lieu de EnableEventValidation="false" vous pouvez gérer la grille vue OnRowCommand:

.ASPX:

<asp:GridView ID="GridView1" runat="server" OnRowCommand="GridView1_RowCommand"> 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:Button runat="server" Text="Approve" CommandName="Approve" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

code derrière:

public partial class delete_me : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack)//THIS IS IMPORTANT.GridView1_RowCommand will not fire unless you add this line 
     { 
      var p1 = new Person() { Name = "Person 1" }; 
      var p2 = new Person() { Name = "Person 2" }; 

      var list = new List<Person> { p1, p2 }; 
      GridView1.DataSource = list; 
      GridView1.DataBind(); 
     } 

    } 

    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 
     System.Diagnostics.Debugger.Break(); 
    } 
} 

public class Person 
{ 
    public string Name { get; set; } 
} 
+0

Parfait. Merci monsieur Denis –

+0

pouvez-vous m'aider avec mon autre inquiétude monsieur http://stackoverflow.com/questions/37497123/get-value-from-asp-boundfield-and-store-to-sql-database-via-button- Cliquez sur –

-1

Vous venez de mettre sur votre gridview.

<asp:TemplateField> 
           <ItemTemplate> 
            <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"/> 
           </ItemTemplate> 
          </asp:TemplateField> 

mettre également le code derrière

protected void Button1_Click(object sender, EventArgs e) 
     { 
      Response.Redirect("WebForm1.aspx"); 
     } 

Essayez !!!! il fonctionne très bien ...

+0

quelle est la différence monsieur? –