2010-04-07 8 views
1

Je me bats contre ce problème depuis plusieurs heures maintenant et pourrait vraiment utiliser un peu d'aide :-)fonctionne Gridview ButtonField LinkButton ne

Ceci est la grille

<asp:GridView ID="annonceView" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="dataSourceAnnoncer"> 
    <Columns> 
     <asp:BoundField DataField="Productname" HeaderText="Productname" />    

     <asp:buttonfield buttontype="Link" commandname="Delete" text="Delete"/> 

     <asp:TemplateField HeaderText="Administration"> 
      <ItemTemplate> 
       <asp:LinkButton ID="lnkBtnDelete" runat="server" Text="Delete" CausesValidation="False" CommandName="Delete" OnClientClick="return confirm('Delete?')" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

<asp:LinqDataSource ID="dataSourceAnnoncer" runat="server"  ContextTypeName="Namespcae.TheContext" 
    EnableDelete="True" TableName="Annoncer"> 
</asp:LinqDataSource>  

En cliquant sur le ButtonField supprime la enregistrer juste bien. Cliquer sur le LinkButton ne fonctionne pas. Je reçois un postback et la grille est affichée comme vide et aucun enregistrement n'est supprimé. Cela ressemble à une liaison de données vide. J'ai essayé de créer un événement OnClick, OnCommand personnalisé pour le LinkButton, mais aucun n'est déclenché. Le OnRowCommand n'est pas déclenché non plus.

Je ne sais pas DataBind manuellement dans le codebehind.

Répondre

0

Votre code semble correct et devrait fonctionner. Assurez-vous que vous n'utilisez pas l'Id lnkBtnDelete ailleurs. Avez-vous à la fois le buttonField et le TemplateField présents en même temps? Que se passe-t-il si vous supprimez le bouton?

+0

Pas de chance avec vos suggestions :( – Karsten