2010-04-07 6 views
0

Gridview a plusieurs colonnes et un bouton Supprimer. Supprimer bouton est une commande TemplateFieldComment passer un paramètre à SQlDataSource à partir de gridview?

<asp:TemplateField> 
<ItemTemplate> 
    <asp:LinkButton ID="btnDelete" CommandName="Delete" Text='<%#  Eval("disabled").ToString()=="False" ? "Disabled" : "Enabled" %>' 
OnClientClick="return confirm('Are you sure you want to take this action?');" 
runat="server"></asp:LinkButton> 
</ItemTemplate> 
</asp:TemplateField> 

maintenant la procédure stockée associée de SQLDataSource de commande Supprimer attend deux paramètres. L'un va de DataKeyNames (RowID), l'autre que je veux passer est le Texte de btnDelete (True ou False).

Comment puis-je y arriver?

Répondre

1

Je recommande de le faire dans le code derrière. Sur btnDelete, cliquez sur i parcourir chaque ligne de votre gridview et vérifier tous les datakeynames. Une fois que j'ai trouvé celui que vous voulez supprimer, vous devrez le renvoyer à vous. Vous pouvez utiliser un orm comme linq, ado.net ou un sqlcmd rectiligne.

0

Veuillez consulter ce code. Je mets en œuvre et fonctionne bien

<asp:TemplateField HeaderText="Add" HeaderStyle-CssClass="grid_Title"> 
    <ItemTemplate> 
     <asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Eval("TrackID")%>' /> 
     <asp:SqlDataSource ID="SqlDataSource_Projects" runat="server" ConnectionString="<%$ ConnectionStrings:SentricMusicFunctionalityConnectionString2 %>" 
          SelectCommand="select* from MassTraxCatProjects where [email protected] and [email protected]) "> 
      <SelectParameters> 
       <asp:SessionParameter DbType="Int32" DefaultValue="CatalogAgencyId" Name="CatalogAgencyId" 
             SessionField="CatalogAgencyId" /> 
       <asp:ControlParameter DefaultValue="TrackID" Name="TrackID" ControlID="**HiddenField1**" /> 
      </SelectParameters> 
     </asp:SqlDataSource> 
     <asp:DropDownList ID="ddl_ProjectType" runat="server" DataSourceID="SqlDataSource_Projects" 
          Width="100px" DataTextField="ProjectName" DataValueField="ProjectId"> 
     </asp:DropDownList> 
    </ItemTemplate> 
</asp:TemplateField> 
Questions connexes