как изменить PageTitle из PartialView в asp.net MVC - PullRequest
0 голосов
/ 06 марта 2011

Я хочу изменить заголовок страницы с частичного просмотра. Но показывается следующая ошибка

Using the Title property of Page requires a header control on the page. (e.g. <head runat="server" />).

Мой головной раздел главной страницы находится здесь

<head runat="server">
    <title>
        <asp:ContentPlaceHolder ID="TitleContent" runat="server" />
    </title>
</head>

Моя страница по умолчанию здесь

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    <%=ViewData["pagetitle"] %>
</asp:Content>

ViewData["pagetitle"] возвращает заголовок текущей страницы, например Дом, Информация, Список новостей, Подробности новостей. Но я хочу изменить название текущей новости вместо строки News Detail. News Detail страница содержит частичное представление. Частичный вид знать, какие новости показаны.

Пожалуйста, помогите

Ответы [ 2 ]

1 голос
/ 05 мая 2011

Не совсем уверен, как у вас структурированы ваши файлы, но если у вас есть папка сущностей, из которой вы извлекаете информацию для своей страницы просмотра, то на странице aspx вы можете сделать что-то вроде этого:

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    <%:projectName.Resources.Entities.FolderName.FileName%>
</asp:Content>
0 голосов
/ 06 марта 2011

Поскольку заголовок отображается как часть раздела заголовка, для частичного представления не существует простого способа установить заголовок страницы напрямую.

Но ваш контроллер (который извлекает элемент новостей для отображения) будет знать, каким должен быть заголовок, и может добавить элемент «pagetitle» в коллекцию ViewData, которую вы затем можете установить либо в своем основном макете, либо в область содержимого для конкретной страницы, как вы делаете выше.

Подсказка: я бы рекомендовал создать статический класс ViewDataKeys со статическими строковыми свойствами (или открытыми константными полями), используемыми в качестве индексаторов в коллекции ViewData. Это помогает избежать дубликатов, орфографических ошибок и ошибок чувствительности к регистру при работе со строковым словарем из нескольких источников.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...