Pergunta

Não há asp:. HiddenField que pode ser usado em um GridView então eu queria saber o que iria trabalhar semelhante a este

Meu raciocínio para querer isso é que tenho um ButtonField que desencadeia uma OnRowCommand. De lá, eu posso descobrir qual linha foi selecionada, mas não pode recuperar o valor de texto do ButtonField para ver os dados que foram ligados a ele (por meio DataTextField).

A minha solução para este era ter um BoundField e apenas recuperar o valor de texto a partir dele, em vez, desde que eu já sabia qual linha foi selecionado. Isso funcionou, mas eu preciso dele para ser escondido.

Alguém sugeriu o uso de um HiddenField aninhada dentro de um TemplateField, mas tive problemas recuperando o valor de texto do que HiddenField. Existe alguma maneira para acessar o controle dentro do TemplateField para obter o valor de texto do HiddenField?

Se alguém tiver alguma sugestão de alternativas que seria ótimo também.

Obrigado,
Matt

Foi útil?

Solução

Você pode usar o DataKeyNames propriedade no Gridview.

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

e então você pode acessá-los como este:

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

Outras dicas

Você pode usar um campo do modelo com o CommandArgument igual ao do ID do registro / linha.

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

Então, em caso manuseio comando linha que você pode obter esse valor por e.CommandArgument

É possível adicionar outra coluna ID, como representante exclusivo para um registro (linha)? Essa coluna ID particular pode ser definido com estilo:. Display = nenhum, a fim de escondê-lo, mas ainda assim o ID está dentro do formulário HTML

e então você pode recuperar o valor dessa coluna ID particular a ser processado.

espero que isso ajude,

hadi

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top