在Asp.net MVC 1.0正式版中的模板页中提供了:
<asp:ContentPlaceHolder ID="TitleContent" runat="server" />
这样可以让你在每个View中独立设定页面标题(Title),不过这样的弊端就是假如我的页面标题是如 下形式:
统一标题 - 副标题
那么要在每个View中都写上:
日记页面:
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> CaraQ - 日记 </asp:Content>
相册页面:
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> CaraQ - 相册 </asp:Content> ……
假如有一天我要把其中的统一标题改一下那就得一个页面一个页面的去改,太过麻烦,而且这种命名 标题的方法我认为也有背MVC的精神--让控制器决定视图显示的内容
其实有更简单的实现方法,如下:
首先定义每个Controller的父类如下:
public class BaseController : Controller { private readonly string _titleFormat = "CaraQ - {0}"; private string _title; protected string Title { get { return _title; } set { _title = value; } } protected override void OnActionExecuted(ActionExecutedContext filterContext) { ViewData["Title"] = string.Format(_titleFormat, Title); base.OnActionExecuted(filterContext); } }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索string
, 页面
, 标题
title
content attr title、一人一管一抛弃、妻子出轨后被抛弃疯了、快穿被抛弃的男神、被抛弃的人,以便于您获取更多的相关知识。
时间: 2024-08-03 02:19:31