Вы можете вызвать метод (Sub) кода страницы, поместив следующее где-то внутри ItemTemplate вашего ListView:
<%# SetPageTitle(Eval("SomeProperty")) %>
Затем в вашем коде позади (извините, это на C #):
protected void SetPageTitle(object title)
{
this.Title = title.ToString();
}
Кроме того, вы также можете передать полный элемент данных вместо одного свойства:
<%# SetPageTitle(Container.DataItem) %>
Обновление (для ответа на ваш комментарий):
<%# ... %>
- это так называемое выражение для привязки данных.Он работает только внутри элемента управления с привязкой к данным (ListView в вашем примере) и всегда работает с текущей записью (обычно вы отображаете более одной записи в элементе управления с привязкой к данным, например ListView).
Поэтому, когда вы используете <%# Eval("Price") %>
, вы отображаете значение в столбце «Цена» текущей записи.Если ваш запрос вернет более одной записи, то он будет выполнен для каждой записи, а при установке заголовка страницы (как показано выше) заголовок страницы будет значением из последней записи.
С другой стороны, <%= ... %>
, это просто обычный фрагмент кода на стороне сервера (не знаю, существует ли для него конкретное имя), который не знает о контексте привязки данных (например, который является текущей записью).
Для получения более подробной информации см. Следующий вопрос: Когда мне следует использовать # и = в элементах управления ASP.NET?