В чем разница между открывающими тегами <% # и <% =?

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

Ответ 1

<%= является эквивалентом <% Repsonse.Write()

Здесь вы можете написать любой контент: например

<%=myProperty + " additional Text" %>

<%# является обязательным выражением. Вы можете получить любое общедоступное значение в текущем контексте (например, в GridViews). Но вы не можете смешивать контент здесь.

Посмотрите MSDN для получения дополнительной информации.

Ответ 2

Отличие состоит в том, что символ # указывает директиву привязки данных, которая разрешена во время привязки данных (например, при вызове Page.DataBind), а знак = определяет оценочное выражение, которое просто оценивает и выводит на вывод HTML когда эта строка обрабатывается.

Изменить: просто добавив, что только внутри <% #% > у вас есть доступ к функциям привязки данных, таким как Eval.

Ответ 3

<% = является сокращением для Response.Write().
<% # указывает, что вы работаете с контейнером данных в элементе управления с привязкой к данным.