Каковы различные способы встраивания кода в ASP.NET в ASPX?
Вопрос
Могу ли я получить информацию о том, когда использовать для этих и других?
<% %>
<%# EVAL() %>
Спасибо
Решение
Проверьте Справочник по синтаксису веб-форм на MSDN.
Для основ,
<% %> используется для блоков чистого кода.Обычно я использую это только для операторов if
<div class="аутентифицированный">
<div class="unauthenticated">
- используется для добавления текста в разметку;то есть это равно
<div class='<%= IsLoggedIn ?«аутентифицированный»:"неаутентифицированный" %>'>
<%# 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>")%>