Если у меня есть веб-приложение ASP.NET MVC 2 со следующими представлениями:
- Main.aspx
- Page1.aspx
- Page2.aspx
И все представления наследуются от MasterView с именем Site.master ,
Я хочу иметь возможность иметь значение по умолчанию Заголовок / H1 для страницы, которое можно переопределить в производных представлениях.
Например, Main.aspx будет иметь "MySite - xxx", Page1.aspx будет иметь «MySite - Page 1», Page2.aspx будет иметь «MySite - Page2».
И если я выберу не устанавливать Заголовок / H1 в новом производном представлении, будет отображаться мастер Title / H1.
С помощью WebForms я бы выполнил это следующим образом:
- Сделал бы теги Title / H1 на мастер runat= "сервер"
- Предоставить защищенные свойства в основном коде позади
- Вкл Page_Load из производных страниц кода сзади;установить свойство ( Master.Title = "Page 1" ).
- На Page_PreRender основного кода, установите теги Title / H1 на "Мой сайт -" +Title;
Как мы можем сделать это с ASP.NET MVC?
Я мог бы сделать это в мастере:
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
А потомустановите его в представлении:
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
MySite - Page 1
</asp:Content>
Но я хотел иметь возможность указывать только «Страница 1» в представлении, и заголовок волшебным образом изменяется на «MySite - Page 1».Знаешь что я имею ввиду?Часть заголовка «MySite -» должна быть шаблоном для заголовка.
Я, вероятно, здесь упускаю что-то очевидное.:)