2010-03-26 6 views
2

При создании веб-сайта с использованием Asp.Net и использовании элементов управления, таких как ListView, следует ли использовать команду «Eval» или должна быть буквальная информация и данные, заполненные в событии привязки данных?Должны ли мы использовать событие Eval или Databind?

ответ

2

Зависит от того, хотите ли вы записать данные на событие обновления и в этом случае привязать данные. Если вы только хотите прочитать эти данные, вы можете использовать Bind() или Eval(), указав, что Eval() использует отражение, поэтому там будут рабочие издержки производительности.

+0

Можете ли вы опубликовать ссылку для своего заявления, что Eval использует отражение ? – citronas

+0

В запущенном ASP.Net 3.5 он указывает, что EVAL неэффективен в столбцах шаблонов, поскольку он использует отражение. Это ярлык для Container.DataItem() –

1

Зависит от предметов, которые вы хотите связать. Они содержат всю необходимую информацию для отображения? Если да, используйте Eval. Если нет, и вам нужно найти дополнительную информацию в словаре или что-то в этом роде, тогда будет использовано событие DataBound.

Я выяснил, что обычно я использую событие DataBind для классов привязки, которые поступают из сопоставления Linq-To-SQL. Если я свободен в создании своего собственного класса контейнера, содержащего все свойства, необходимые для отображения, я использую только свойство Eval(). Я думаю, это зависит от того, насколько находчивым является поиск дополнительной информации. Пожалуйста, имейте в виду, что плохая практика использования LinqDataContext внутри события DataBound.