Как использовать привязанное к данным значение для формирования уникального идентификатора для элемента управления?
Я знаю, что мы можем привязать данные к каждому элементу управления в ItemTemplate следующим образом:
<ItemTemplate>
<asp:TextBox runat="server"
Text='<%# Eval("LabelText") %>' />
</ItemTemplate>
Однако я не нашел способа объединить префикс строки со значением данных, чтобы сформировать уникальный идентификатор строки. Следующий код показывает мою идею, но она не работает.
<ItemTemplate>
<asp:TextBox runat="server"
ID='TextBox_<%# Eval("LabelID") %>'
ValidationGroup = 'VVG_<%# Eval("LabelGroup") %>'
Text='<%# Eval("LabelText") %>' />
</ItemTemplate>
2 ответа
Решение
Попробуй это
ID = '<% # "Text_" + Eval ("LabelID")%>'
ValidationGroup = '<%# "VVG_" + Eval("LabelGroup") %>'
РЕДАКТИРОВАТЬ:
Идентификатор не может быть назначен таким способом для элементов управления на стороне сервера. Вы можете назначить идентификатор для простых элементов управления формы, таких как <input type="text"... />
, Также взгляните на Control.ClientIDMode (ASP.NET 4).
Попробуй это:
<asp:TextBox runat="server"
ID='<%# String.Format("TextBox_{0}",Eval("LabelID")) %>'
ValidationGroup = '<%# String.Format("WG_{0}",Eval("LabelGroup")) %>'
Text='<%# Eval("LabelText") %>' />