普通的View往ViewData里塞东西后调用模板页正常。但是Layout好像不成。
代码如下:
//控制器Master.cs
public class Master:Controller
{
[View("master")]
public void Run()
{
ViewData["title"] = "测试";
}
}
//模板页master.htm
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>{{ title }}</title></head>
<body>
<div>
$[ _VIEW_ ]
</div>
</body>
</html>
//控制器Home.cs
public class Home : Controller
{
public void Run()
{
ViewData["HelloText"] = "test";
RenderView("Default/Home", "Default/master");
}
}
//模板页home.htm
<html>
<body>
{{ HelloText }}
</body>
</html>
运行之后title为空,不知道咋回事,Layout里如果不能用标签,只能写一些静态的html代码,那就失去了母版页的意义~
其实不用建 Master.cs的 放在任意一个 Controller的构造函数里就行了。
或放在标有 [BeforeAction] 属性的方法里也可以
学习。。