В чем разница между следующим кодом при использовании DataBinder?

Я только начал изучать веб-формы asp.net и столкнулся с проблемой. Я смотрю на контроль повторителя и наткнулся на это. В чем разница между тремя строками кода?

    <%#Container.DataItem("title", "name")%>
    <%#DataBinder.Eval(Container.DataItem, "title", "name")%>
    <%#Eval("title", "name")%>

Все три дают одинаковый результат? Если так, то в чем разница и что мне следует использовать? Спасибо,

1 ответ

Решение
  1. Container.DataItem(string, string) является единственной строкой источника данных, это часть вашего запроса LINQ final Select,
  2. DataBinder.Eval позволяет получить доступ к общедоступному свойству объекта DataItem. Он мощный, но использует отражение во время выполнения, поэтому он может быть очень медленным.
  3. Eval это сокращение для DataBinder.Eval

Рекомендации

Другие вопросы по тегам