Лучший метод для нескольких полей Eval в Gridview ItemTemplate?

StackOverflow https://stackoverflow.com/questions/55607

Вопрос

Как лучше всего использовать несколько полей EVAL в GridView ItemTemplate?

Хотите иметь некоторый контроль над форматированием внешнего вида, а также настройкой гиперссылок/Javascript и т. д.

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

Решение

Еще яснее, ИМХО, следующее:

<%# String.Format("{0} - {1}", Eval("Name1"), Eval("Name2")) %>

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

Раньше я использовал это (плохо, я знаю):

<%# Eval("Name1", "{0} - ")%> <%#Eval("Name2")%>

Результат = 'Джон - Смит'

Но только что обнаружил, что я также могу поместить ДВА (или более) Eval в одну и ту же группу с привязкой к данным:

<%#Eval("Name1") & " - " & Eval("Name2")%>

Результат = 'Джон - Смит'

Или

<%# "First Name - " & Eval("Name1") & ", Last Name - " & Eval("Name2")%>  

Результат = «Имя — Джон, Фамилия — Смит»

Eval и Bind — отстой.
Зачем получать свойство посредством отражения?Вы можете получить к нему доступ напрямую следующим образом:

((MyObject)Container.DataItem).MyProperty

Это не значит, что объект вам неизвестен во время выполнения.Во всяком случае, это мои два цента.

У меня есть самый простой способ сделать то же самое...

<asp:Label ID="lblName" runat="server" Text='<%#Eval("FirstName").ToString() +", "+ Eval("LastName").ToString() %>'></asp:Label>

.

<%#Eval("FirstName").ToString() +", "+ Eval("LastName").ToString() %>

Здесь оба объекта преобразуются в строку и объединяют их.

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