Теги сервера не работают внутри элементов управления asp
Отлично, чтобы сделать это быстро:
- я хочу установить даты начала и окончания для расширителя календаря динамически при изменении или загрузке страницы
- значения помещаются в скрытые поля на экране .ascx и заполняется во время загрузки страницы в if not postback
- один набор календарных расширителей находится в поле шаблона элемента представления сетки вызовите этот набор
- остальные в обычной HTML-таблицы - в
Множество a и множество b имеют флаги StartDate="<%# hfStart.value%>" EndDate="<%# hfEnd.value%>"
Установка в шаблоне элемента столбца представления сетки работает как очарование
Набор b В таблице HTML не работает вообще
Что дает?
До сих пор я пробовал другие теги сервера с тем же кодом внутри, но я, очевидно, упускаю важную деталь. Почему одно работает, а другое нет?
Обновление: пробовал
-
CDate(hfstart.value).ToStringс тегами <%= hfstart.value %>
Если я не ошибаюсь,
2 ответа:
Как оказалось, вам нужно использовать
<%# %>в тегах asp, как и другие, такие как<% %>и<%= %>, выполняемые в конце ASP.NET жизненный цикл и получить выплюнуть буфер бог знает куда. Однако при использовании<%# %>управление asp должно бытьDataBound();в соответствующее время.Это происходит автоматически для элементов управления, смоделированных в тегах
<item template>в gridview, потому что все в gridview связано с его командойgridview.DataBound().
Может быть, это потому, что вы используете теги
<%# %>, которые предназначены для привязки данных? Это объясняет, почему они работают в GridView, потому что он поддерживает привязку данных.Однако в базовой таблице HTML вы должны использовать теги
<% %>вместо этого, или<%= %>для вызова метода.Для получения полной информации о типах тегов, попробуйте эту ссылку.