/ / Еквівалентність asp: HiddenField для GridView - asp.net, gridview, приховане поле, databound, шаблон

Еквівалентність asp: HiddenField для GridView - asp.net, gridview, hidden-field, databound, templatefield

Існує не ASP: HiddenField, які можуть бути використані в GridView, тому мені було цікаво, що буде працювати подібно до цього.

Мої міркування про те, що я хочу це, у мене єButtonField, що запускає OnRowCommand. Звідти я можу зрозуміти, який рядок було вибрано, але я не можу отримати значення тексту з ButtonField, щоб побачити дані, які були пов'язані з ним (через DataTextField).

Моє рішення для цього було мати BoundField і просто отримати текст значення з нього замість цього, оскільки я вже знав, який рядок був обраний. Це спрацювало, але мені потрібно, щоб він був прихований.

Хтось запропонував використовувати вкладене HiddenFieldв TemplateField, але у мене виникли проблеми з отриманням значення тексту з цього HiddenField. Чи є спосіб отримати доступ до керування в TemplateField, щоб отримати текстове значення HiddenField?

Якщо у когось є якісь пропозиції щодо альтернатив, це також буде здорово.

Дякую,
Метт

Відповіді:

1 для відповіді № 1

Ви можете скористатись DataKeyNames власності на Gridview.

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

а потім доступ до них можна отримати таким чином:

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

2 для відповіді № 2

Можна використовувати поле шаблону з командоюArgument, що дорівнює ID запису / рядку.

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

Потім у події обробки команд рядка ви можете отримати це значення за допомогою e.CommandArgument


0 для відповіді № 3

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

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

сподіваюся, що це допоможе,

hadi