Каково различие между <% # %> и <% = %>?

[g0] Мне нравится использовать [f2], вы даже можете указать время [/g0] [f1]
11
задан Esteban Araya 1 October 2008 в 22:51
поделиться

5 ответов

Они несколько неофициально упоминаются, поскольку "пчела жалит". Существует 4 типа:

<%# %> вызывается во время фазы DataBinding.

<%= %> используется для получения значений от кода до уровня UI. Предназначенный для обратной совместимости с приложениями ASP. Не должен использовать в.NET.

<%@ %> представляет директивы, и позвольте поведениям быть установленными, не обращаясь к коду.

<%: %> (представленный в ASP.NET 4), совпадает с %=, но с добавленной функциональностью HtmlEncoding вывод. Намерение состоит в том, чтобы это было использованием по умолчанию (законченный %=) помочь экранировать против нападений инжекции сценария.

Директивы указывают настройки, которые используются страницей и компиляторами пользовательского элемента управления, когда компиляторы обрабатывают страницы ASP.NET Web Forms (.aspx файлы) и пользовательский элемент управления (.ascx) файлы.

ASP.NET рассматривает любой направляющий блок (<% %>), который не содержит явное направляющее имя как директива Page (для страницы) или как директива Управления (для пользовательского элемента управления).

@Esteban - Добавленный ссылка MSDN к директивам. При необходимости... в большем количестве объяснения сообщите мне.

19
ответ дан 3 December 2019 в 03:54
поделиться

См. http://weblogs.asp.net/leftslipper/archive/2007/06/29/how-asp-net-databinding-deals-with-eval-and-bind-statements.aspx

Как Albert говорит, это - все, чтобы сделать с парсингом операторов привязки данных.

3
ответ дан 3 December 2019 в 03:54
поделиться

# версия используется в то время как привязка данных. <% = является просто простой Ответ. Записать

2
ответ дан 3 December 2019 в 03:54
поделиться

Не полностью связанный с вопросом, существует другая связанная нотация в asp.net под названием Построитель выражений:

<asp:SqlDataSource ... Runat="server"
 ConnectionString="<%$ ConnectionStrings:Northwind %>"
/>

<asp:Literal Runat="server"
  Text="<%$ Resources:MyResources, MyText %>"
/>

и это расширяемо, см. http://msdn.microsoft.com/en-us/magazine/cc163849.aspx#S4

2
ответ дан 3 December 2019 в 03:54
поделиться

JavaScript в .aspx, который использует основную страницу.

var e = document.getElementById('<%= lblDescription.ClientID %>');
e.innerHTML = 'getElementById(\'lblDescription\') will be null';
0
ответ дан 3 December 2019 в 03:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: