Вопрос

Не существует asp:HiddenField, который можно было бы использовать в GridView, поэтому мне было интересно, что будет работать аналогично этому.

Моя причина в том, что у меня есть ButtonField, который запускает OnRowCommand.Отсюда я могу выяснить, какая строка была выбрана, но не могу получить текстовое значение из ButtonField, чтобы просмотреть данные, которые были привязаны к нему (через DataTextField).

Мое решение заключалось в том, чтобы иметь BoundField и вместо этого просто получать из него текстовое значение, поскольку я уже знал, какая строка выбрана.Это сработало, но мне нужно, чтобы это было спрятано.

Кто-то предложил использовать HiddenField, вложенный в TemplateField, но у меня возникли проблемы с получением текстового значения из этого HiddenField.Есть ли способ получить доступ к элементу управления внутри TemplateField, чтобы получить текстовое значение HiddenField?

Если у кого-нибудь есть какие-либо предложения по альтернативам, это тоже было бы здорово.

Спасибо,
Мэтт

Это было полезно?

Решение

Вы можете использовать DataKeyNames недвижимость на Gridview.

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

и затем вы можете получить к ним доступ следующим образом:

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

Другие советы

Вы можете использовать поле шаблона с аргументом команды, равным идентификатору записи/строки.

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

Затем в событии обработки команды строки вы можете получить это значение с помощью e.CommandArgument.

можно ли добавить еще один столбец идентификатора в качестве уникального представителя записи (строки)?Этот конкретный столбец идентификатора можно установить с помощью стиля:display=none, чтобы скрыть его, но идентификатор все равно находится внутри формы HTML.

а затем вы можете получить значение этого конкретного столбца идентификатора для дальнейшей обработки.

надеюсь это поможет,

Хади

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top