Domanda

Non c'è asp:. HiddenField che può essere utilizzato in un GridView quindi mi chiedevo che cosa funzionerebbe simile a questo

Il mio ragionamento per voler questo è che ho un ButtonField che attiva un OnRowCommand. Da lì posso capire quale riga è stata selezionata, ma non riesco a recuperare il valore di testo dal ButtonField di vedere i dati che è stato legato ad esso (attraverso DataTextField).

La mia soluzione a questo era di avere una BoundField e solo recuperare il valore di testo da esso, invece, dal momento che già sapevo quale riga è stata selezionata. Questo ha funzionato, ma ho bisogno di essere nascosto.

Qualcuno ha suggerito utilizzando un HiddenField inserita all'interno di una TemplateField, ma ho avuto problemi di recuperare il valore del testo da quel HiddenField. C'è qualche modo per accedere al controllo all'interno della TemplateField per ottenere il valore di testo della HiddenField?

Se qualcuno ha qualche suggerimento di alternative che sarebbe grande pure.

Grazie,
Matt

È stato utile?

Soluzione

È possibile utilizzare il DataKeyNames proprietà sul GridView.

gridView.DataKeyNames = { "values", "you", "want "};

e poi li si può accedere in questo modo:

gridView.DataKeys[rowId].Values["value"];

Altri suggerimenti

È possibile utilizzare un campo modello con il CommandArgument pari al l'ID del record / riga.

<ItemTemplate>
  <asp:Button ID="Button1" runat="server" CausesValidation="false" 
      CommandName="SomeCommand" Text="Button" CommandArgument='<%# Eval("SomeID") %'></asp:LinkButton>
</ItemTemplate>

Quindi, in caso di trattamento di comando di fila si può ottenere che il valore per e.CommandArgument

è possibile aggiungere un'altra colonna ID, come rappresentante unico per un record (riga)? Quella colonna ID particolare può essere impostato con stile:. Display = none al fine di nasconderlo, ma ancora l'ID è all'interno del modulo HTML

e quindi è possibile recuperare il valore di quel particolare colonna ID da elaborare ulteriormente.

Spero che questo aiuti,

Hadi

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top