Привязка данных к собственности? - PullRequest
0 голосов
/ 28 мая 2010

Я использую следующий синтаксис для привязки к элементу div:

<div id="previewdiv"><%=Preview%></div>

Где Preview - это свойство на моей странице.

Подвох в том, что я создаю это в Javascript на новой странице в событии onclick. На стороне сервера я могу ссылаться на новую страницу через это свойство, но по какой-то причине при обратной передаче страницы переменная устанавливается в исходное значение по умолчанию, а не в значение, заданное на моей странице, т.е. = строка Когда я отправляю сообщение еще раз, страница будет обновлена ​​с использованием заданного мной значения.

Возможно, я мог бы переместить код в Init, но мне нужно получить значения из элементов управления, чтобы инициализировать это свойство.

Идеи

1 Ответ

2 голосов
/ 01 августа 2010

Проблема, с которой вы сталкиваетесь, заключается в том, что при использовании традиционных веб-форм ASP.NET код <%= %> оценивается очень рано в жизненном цикле страницы, прежде чем ваш код сможет его запустить.

Вместо этого вы хотите использовать Привязка данных ASP.NET , которая использует другой синтаксис, такой как: <%# %>. (Обратите внимание "#"). Затем, чтобы получить этот код для рендеринга, вы должны вызвать DataBind () некоторого серверного элемента управления, когда будете готовы заменить шаблон вашими фактическими данными.

Итак, в своем коде сервера вы делаете что-то вроде этого:

Preview = someString;
previewDiv.DataBind();

А в вашей разметке что-то вроде этого:

<div runat=server id="previewdiv"><%#Preview%></div> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...