Я программировал как в классическом ASP, так и в ASP.NET, и я вижу разные теги внутри разметки для кода на стороне сервера.
Недавно я наткнулся на хороший блог на MSDN, в котором рассказывается о разнице между:
<%=
(процент вместе со знаком равенства) и<%#
(знак процента и хэш / фунт / октоторп)
( <%#
оценивается только при привязке данных и <%=
оценивается при рендере), но я также вижу:
<%$
(знак процента и доллара) и<%@
(знак процента и символ).
Я считаю, что <%@
загружает такие вещи, как сборки и, возможно, <%$
загружает вещи из конфигурационных файлов? Я не слишком уверен.
Мне было просто интересно, если кто-нибудь мог бы прояснить все это для меня и, возможно, объяснить, почему так важно создавать так много разных тегов, которые, казалось бы, имеют схожую цель?
<%#
часто используется с eval
, но это не обязательно: вы можете использовать его для запуска любого серверного кода, при условии, что вы запускаете Page.DataBind()
на содержащей странице или его главной странице. Кажется, что это единственный вариант, если вы хотите «внедрить» код на стороне сервера в атрибуты элементов управления на стороне сервера, таких как <asp:TextBox
, <asp:LinkButton
или даже a <input runat="server">
.
"<%=" "<%:""<%@" "<%#"
и он отправил меня сюда.