我有一个控制器的操作和使用母版页的视图页面。
母版页的html标题部分如下:
<title>this is the page's title</html>
如何从我的控制器操作(最好)或我的操作视图页面中访问此部分?
答案 0 :(得分:2)
<title><%= Model.PageTitle %></html>
public class MasterModel
{
public string PageTitle { set; get; }
}
public class MyViewModel : MasterModel
{
/* ... */
}
您可以在控制器操作中设置所需的基类PageTitle属性。
public ActionResult SomeAction ()
{
MyViewModel model = new MyViewModel ();
model.PageTitle = "this is the page's title";
return View (model);
}
答案 1 :(得分:1)
我通常处理设置html页面标题的方式是通过Title属性页面。
在我看来,我有这个......
<%@ Page Language="C#" Title="Hello World" ... %>
在我的母版页中,我有这个......
<title><%=Page.Title%></title>
如果您想让控制器设置页面标题,您可能需要通过视图模型发送标题。
答案 2 :(得分:0)
从Action方法中将您想要的标题弹出到ViewData中,然后将其渲染到页面...
在行动方法
ViewData["PageTitle"] = "Page title for current action";
在母版页上
<!-- MVC 1.0 -->
<title><%=Html.Encode(ViewData["PageTitle"]) %></title>
<!-- MVC 2.0 -->
<title><%: ViewData["PageTitle"] %></title>