母板页是具体设计网站首先要面对的问题。MonoRail默认在Views/layouts目录中。因为我配置过目录,所以我的目录是在wap3/layouts下。接下来我沿用ASP.NET对母板页的一些说法来表述,方便大家更快的理解和使用
内容页中设置母板页的Title、Metal信息
因为MonoRail的layouts是没有后代码的(重点说明),那么有些需要在母板页处理的逻辑怎么使用呢?其实很简单只要在母板页上定义一个变量,内容页进行赋值即可
母板页添加如下代码:
<title>$headtitle </title>
内容页CS代码进行赋值
public void Index() { PropertyBag["HeadTitle"] = "首页数据"; }
这样就完成了在内容页中修改母板页内容的过程。
母板页的默认值
但这样你会发现一个,就是每一个调用母板页的地方都必须去设置这个headtitle,否则他直接输出$headtitle。显然需要一个默认值。每一个页面去设置默认值,加重了开发的负担。这样我就定义了一个BaseController类
public class BaseController : Controller
{
public BaseController()
{
PropertyBag["HeadTitle"] = String.Empty;
}
}
让所有的内容页后代码都从BaseController继承,这样就解决的默认值的问题
空默认值更简单
你如果认为新定义一个基类比较麻烦,而你的值默认是为空的,那么这样使用更加方便。如果没有赋值,在内容页中将不显示
<title>$!headtitle </title>
但如果你需要一些定制化的默认值,这样就比较麻烦了。所以我还是建议都从BaseController继承。
--=阅读快乐=--
欢迎访问我的新鱼塘 www.pumaboyd.com