2009-07-01 6 views
0

Si j'ai cette <asp:ButtonField runat="server" DataTextField="Name" CommandName="GetName"></asp:ButonField> dans un GridView. Est-il possible de récupérer le DataTextField (Name) à partir de la méthode OnRowCommand?Problèmes lors de la récupération de données à partir de OnRowCommand à partir d'un GridViews

<asp:GridView ID="GridView1" runat="server" 
AllowPaging="True" AutoGenerateColumns="False" 
DataSourceID="ObjectDataSource_Names" 
DataKeyNames="ID,ModuleId" OnRowCommand="ChangeName"> 

Ou bien, est-il un moyen de faire CommandName dans un attribut où la commande est dynamiquement entré en fonction des données fournies, similaires à la différence entre DataTextField vs TextField.

Répondre

0

J'ajouté <asp:BoundField DataField="Name" /> Ensuite, vous pouvez le récupérer en utilisant la même méthode ici: GridView.onRowCommand Method

Tout ce que je dois faire maintenant est de trouver un moyen de masquer le champ. Si quelqu'un sait comment faire, s'il vous plaît faites le moi savoir. Visible = « false » se débarrasse du champ tous ensemble ...

+0

Dans votre BoundField, ajoutez ControlStyle-CssClass = "someClass". Mettez someClass dans votre page ou feuille de style et définissez son affichage: none ;. –

0

Pas vraiment sûr que ce soit la meilleure façon, mais cela fonctionne:

Faites votre colonne une TemplateField et lier la valeur à un nom asp : hiddenfield control:

<asp:TemplateField> 
    <ItemTemplate> 
     <asp:HiddenField ID="hfName" runat="server" Value='<%# Eval("Name") %>'> 
     </asp:HiddenField> 
    </ItemTemplate> 
</asp:TemplateField>