Каковы различные способы встраивания кода в ASP.NET в ASPX?

StackOverflow https://stackoverflow.com/questions/28219

  •  09-06-2019
  •  | 
  •  

Вопрос

Могу ли я получить информацию о том, когда использовать для этих и других?

<% %>
<%# 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>")%>  
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top