Ответ 1
Точно так же, как <%: %>
является кодированной HTML версией <%= %>
, тег <%#: %>
представляет собой кодированную HTML версию <%# %>
.
Тег <%#: %>
делает то же самое, что и <%# %>
, но затем он вызывает Server.HTMLEncode
в строке.
Я знаю, что мы можем синтаксис <%: %>
для кодирования html, который представлен в .Net 4. Но я читал новые функции Asp.Net 4.5, и я понял, что у нас есть другой тип, т.е. <%#: %>
, который используется для кодирования результата выражения привязки данных.
Я путаюсь с этим.
What is the difference between <%: %> and <%#: %> in Asp.Net
Пожалуйста, объясните их оба.
Точно так же, как <%: %>
является кодированной HTML версией <%= %>
, тег <%#: %>
представляет собой кодированную HTML версию <%# %>
.
Тег <%#: %>
делает то же самое, что и <%# %>
, но затем он вызывает Server.HTMLEncode
в строке.
ASP.NET предоставляет то, что называется синтаксисом привязки, чтобы связать разметку HTML и элементы управления с значениями, извлеченными из источников данных или других переменных; что синтаксис привязки рассматривается как нечто вроде:
<%# someVariable %>
Следующий двоеточие просто расширяет новое поведение "auto-HtmlEncode" до результатов этих выражений bnding.
Надеюсь, что это поможет.