2010-11-09 7 views
0

Dans mon contrôle utilisateur, j'ai un répéteur qui contient certaines données de la base de données. Voici le modèle d'articleLinkButton OnCommand non appelé dans le contrôle utilisateur

<ItemTemplate> 
      <tr> 
       <td class="tblCell"> 
        <a href="Document.aspx?docId=<%# Eval("DOCID") %>" target="_blank"> 
         <%# Eval("FILENAME") %></a> 
       </td> 
       <td class="tblCell"> 
       <asp:Label ID="_empty" runat="server" /> 
        <asp:LinkButton ID="_lnkDelete" runat="server" OnCommand="LinkDelete_Click" CommandArgument='<%# Eval("DOCID") %>' Text="Delete" OnClientClick="return confirm('Delete this Document?')" /> 
       </td> 
      </tr> 
     </ItemTemplate> 

Le répéteur affiche une liste de fichiers, et chaque nom de fichier possède son propre bouton de suppression. Toutefois, le bouton Supprimer n'appelle pas l'événement OnCommand lorsque vous cliquez dessus. Il vient de poster.

protected void LinkDelete_Click(object sender, CommandEventArgs e) 
{ 
    MyObject _myObj = new MyObject(Convert.ToInt64(e.CommandArgument)); 
    _myObj.Deleted = "Y"; 
    _myObj.Update(); 
    DeleteFile(_myObj.Filename); 
    GetFileInfo(); 
} 

Y a-t-il un problème avec l'utilisation d'un LinkButton de cette manière dans un contrôle utilisateur? Si oui, existe-t-il une solution? Ou le problème est-il évident, et je ne le vois tout simplement pas?

Merci

Répondre

0

Vous avez oublié de définir le CommandName. Dans votre situation delete serait approprié.

EDIT: Vous devriez l'attraper dans le OnItemCommand du répéteur.

+0

Cela n'a rien changé. Lors du débogage, il n'atteint même pas le point de rupture de LinkDelete_Click. Merci –

+0

Hmm, désolé, ma faute. Testé sans répéteur. Regardez ma mise à jour. –

+0

Je suis sûr que cela fonctionnerait aussi, mais j'ai finalement trouvé le problème ... pour une raison quelconque, j'avais "EnableViewState =" False "sur le répéteur (que je n'ai malheureusement pas posté) .Merci pour l'aide si! –

Questions connexes