Сведения о вопросе

Faridun

22:56, 25th August, 2020

Теги

.net   asp.net   syntax    

В ASP.NET, каковы различные способы встроенного кода в .аспн?

Просмотров: 409   Ответов: 4

Могу ли я получить "когда использовать" для этих и других?

<% %>
<%# EVAL() %>

Спасибо



  Сведения об ответе

VCe znayu

09:27, 26th August, 2020

Проверьте ссылку синтаксиса веб-форм на MSDN.

Для основы,

  • <% %> используется для чистых блоков кода. Я обычно использую это только для операторов if


    <div класс="authenticated">

    <div класс="unauthenticated">



  • используется для добавления текста в ваш markup; то есть он приравнивается к

    Класс <div='<%= IsLoggedIn ? "authenticated" : "unauthenticated" %>'>

  • Выражение <%# %> очень похоже на приведенное выше, но оно вычисляется в сценарии DataBinding. Это означает, что вы можете использовать эти выражения для задания значений элементов управления runat="server", что невозможно сделать с помощью синтаксиса <%=%>. Обычно это используется внутри шаблона для элемента управления databound, но вы также можете использовать его на своей странице, а затем вызвать Page.DataBind() (или Control.DataBind()), чтобы вызвать этот код для оценки.


Другие, упомянутые в связанной статье, менее распространены, хотя, безусловно, имеют свои применения.


  Сведения об ответе

COOL

22:00, 7th August, 2020

Вы также можете использовать

<%= Class.Method() %>

И он будет печатать результат, так же, как вы можете сделать в Ruby на Rails.


  Сведения об ответе

COOL

15:01, 3rd August, 2020

Просто хочу добавить, что есть также выражение ресурсов

<%$ Resources:resource, welcome%>

и asp.net будет искать локализованную версию "welcome" в спутниковых сборках автоматически.


  Сведения об ответе

VERSUION

02:54, 20th August, 2020

В ASP.NET 4.0, приходит <%: %> синтаксис для написания чего-то html кодируется.

<%: "<script>alert('Hello XSS')</script>" %>  

Вышесказанное можно использовать вместо Белова.

<%= Html.Encode("<script>alert('Hello XSS')</script>")%>  


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться