Встроенные скрипты в ASP.NET

Я хочу изучить расширенные и базовые вещи о встроенных сценариях ASP.NET, такие как

<img src="<%= Page.ResolveUrl("~")%>Images/Logo.gif"/>

или же

<asp:Label ID="lblDesc" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"Description")%>'></asp:Label>

И так далее...

И какая разница между <%%> и <% #%> и такими вещами?

Где я могу найти от базовой до продвинутой реализации этих обычаев?

2 ответа

Решение

Проверьте эту статью для специфики различных встроенных опций тега.

Из статьи:

<%...%> - самый основной встроенный тег, в основном запускает обычный код:

<% =...%> - используется для небольших порций информации, обычно из объектов и отдельных фрагментов информации, таких как одна строка или переменная int:

<% #...%> - используется для выражения привязки; такие как Eval и Bind, чаще всего встречающиеся в элементах управления данными, таких как GridView, Repeater и т. д.:

<% $...%> - используется для выражений, а не кода; часто встречается с источниками данных:

<% @...%> - это для синтаксиса директив; в основном то, что вы видите в верхней части ваших aspx-страниц, например, контроль регистрации и объявление страницы:

<% -...%> - это комментарий на стороне сервера, который никто не хочет видеть без доступа к коду:

В общем, <%#..%> используется для предварительной обработки шаблона, например, при привязке данных, когда имена свойств объектов не известны во время компиляции. Если, например, у вас есть объект Repeater ASP.NET, и вы привязываете к нему список объектов, эта нотация используется для предварительного заполнения значений, которые не могут быть установлены ни в одной точке, кроме как в течение жизненного цикла привязки данных.

Другие обозначения, <%..%> а также <%=..%> являются более стандартными, и вы увидите их гораздо чаще, чем другой синтаксис, который обсуждался ранее, особенно если вы используете что-то вроде ASP.NET MVC вместо ASP.NET Web Forms. Синтаксис <%..%> выполняет произвольный встроенный сценарий, и ничего более, но позволяет писать целые блоки кода.NET, такие как операторы if, циклы while, циклы и т. д. Синтаксис <%=..%> является синтаксисом оценки и записи и является грубым эквивалентом <% Response.Write([..].ToString()) %>, То есть, <%= myVal %> такой же как <% Response.Write(myVal.ToString()) %>

Эти синтаксисы являются базовыми знаниями ASP.NET.

Другие вопросы по тегам