Анонимные типы в ретрансляторе - Eval? Динамический?

Хорошо, поэтому я создал анонимный тип из объединения двух списков. Я привязал его к своему повторителю, чтобы показать его на моей странице, но... Я не уверен, что лучший способ сделать это. Должен ли я делать Eval() на странице asp? Должен ли я использовать новый динамический тип? Какова наилучшая практика для этого сценария в наши дни?

1 ответ

Мне нравится использовать этот подход с анонимными объектами и eval:

Код за:

rpt.DataSource = list.Select(i => new 
 {
 Url = i.GetField("Url"),
 Text = i.GetField("Text")
 });
rpt.DataBind();

Разметка:

<asp:repeater id="rpt" runat="server">
 <itemtemplate>
 <a href="<%# Eval(" url")="" %="">"><%# Eval("Text") %></a>
 </itemtemplate>
</asp:repeater>

Кстати, если вы используете ASP.NET 4.5, я рекомендую использовать сильно типизированные репитеры, более подробную информацию здесь:

http://weblogs.asp.net/scottgu/archive/2011/09/02/strongly-typed-data-controls-asp-net-vnext-series.aspx

licensed under cc by-sa 3.0 with attribution.