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