Когда следует использовать # и = в элементах управления ASP.NET?

Я использую ASP.NET в течение многих лет, но я никогда не запомню, когда использую # и = соответствующие.

Например:

 

или

  

Может ли кто-нибудь объяснить, когда каждый из них должен использоваться, чтобы я мог держать это прямо в своем уме? Используется ли # только для элементов управления, поддерживающих привязку данных?

<% =%> является эквивалентом выполнения Response.Write (“”) везде, где вы его размещаете.

<% #%> предназначен для привязки данных и может использоваться только там, где поддерживается привязка данных (вы можете использовать их на уровне страницы вне элемента управления, если вы вызываете PageDataBind () в свой код)

Обзор выражений привязки данных

Есть несколько разных «пчелиных укусов»:

  • Директива <%@ - page
  • <%$ - доступ к ресурсам
  • <%= - явный вывод на страницу
  • <%# - привязка данных
  • <%-- - блок комментариев на стороне сервера

Также в ASP.Net 4:

  • <%: - записывается на страницу, но с кодировкой HTML

Вот отличный пост в блоге Дэн Кревьер, который просматривает тестовое приложение, которое он написал, чтобы показать различия.

По существу:

  • Выражения <% = оцениваются во время рендеринга
  • Выражения <% # оцениваются по времени DataBind () и вообще не оцениваются, если DataBind () не вызывается.
  • <% # выражения могут использоваться как свойства в элементах управления на стороне сервера. <% = выражения не могут.
  • Заполнить Combobox из базы данных
  • Управление несколькими выборами с помощью MVVM
  • ElementName привязка из MenuItem в ContextMenu
  • Перетаскивание из источника данных в окно WPF не работает
  • Как я могу привязать данные строк к ListBox в WPF / WP7?
  • Общий class наблюдаемого словаря для DataBinding / WPF C #
  • Каковы различные режимы привязки WPF?
  • Как правильно привязать xml к WPF DataGrid?
  • Связывающие свойства в коде
  • WPF привязка к локальной переменной
  • Связывание WPF ComboBox с пользовательским списком
  • Давайте будем гением компьютера.