Могу ли я получить «когда использовать» для этих и других?
<% %> <%# EVAL() %>
Спасибо
Ознакомьтесь со справочником синтаксиса веб-форм в MSDN.
Для основ
<%%> используется для блоков чистого кода. Обычно я использую это только для операторов if
'>
<% # Выражение%> очень похоже на вышеприведенное, но оно оценивается в сценарии привязки данных. Это означает, что вы можете использовать эти выражения для установки значений элементов управления runat = "server", чего нельзя сделать с помощью синтаксиса <% =%>. Обычно это используется внутри шаблона для элемента управления с привязкой к данным, но вы также можете использовать его на своей странице, а затем вызвать Page.DataBind () (или Control.DataBind ()), чтобы заставить этот код оценивать. 1022 *
Остальные, упомянутые в связанной статье, встречаются реже, хотя, безусловно, также имеют свое применение.
Просто хочу добавить, есть также выражение ресурсов
<%$ Resources:resource, welcome%>
и asp.net будет автоматически искать локализованную версию "welcome" в сателлитных сборках.
Вы также можете использовать
<%= Class.Method() %>
И он напечатает результат, как вы можете это сделать в Ruby on Rails.
В ASP.NET 4.0 имеется синтаксис <%:%> для написания чего-либо в кодировке html.
<%: "<script>alert('Hello XSS')</script>" %>
Выше можно использовать вместо любимой.
<%= Html.Encode("<script>alert('Hello XSS')</script>")%>