Лучший метод для нескольких полей Eval в Gridview ItemTemplate? - PullRequest
30 голосов
/ 11 сентября 2008

Каков наилучший способ использования нескольких полей EVAL в шаблоне элемента GridView?

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

Ответы [ 4 ]

63 голосов
/ 11 сентября 2008

Еще яснее, ИМО, это:

<%# String.Format("{0} - {1}", Eval("Name1"), Eval("Name2")) %>
6 голосов
/ 11 сентября 2008

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

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

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

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

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

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

Или

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

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

5 голосов
/ 11 сентября 2008

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

((MyObject)Container.DataItem).MyProperty

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

2 голосов
/ 10 апреля 2016

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

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

.

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

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

...