比如 页面的Title、Keyword、Description、版权信息、logo、地区、用户id之类的信息,如何在每个页面上都能调用?
注意:这里的这些信息是从数据库里读取的,不是静态的。
Asp.net mvc 的开发模式,除了用Session之外如何把这些值传到页面?
1视图调用方法输出字符串
2viewmodel输出到强类型视图
传少点的值可以用超链接
封装起来做一个模板页,每个页面上引用那个模板页,就可以重复使用
可以建立一个Title公共视图,在layot布局页面引入,其他继承了Layot的就都能用了。
数据:ViewBag,ViewData,TempData
个人觉得把他们封装到一个model里面 再将其对象存到Session里面比较方便
分类处理:
1.对于版权信息、logo、地区、用户id这类公共的信息,建立一个BaseController基类,所有Controller控制器都继承自这个基类,放在BaseCOntroller中使用ViewBag存储,
2.Title,keyWords,Description每个视图显示的内容可能都不一样,可以在对应控制器中使用ViewBag.Title的方式传递,如果Title等信息都一样也可以放在BaseController中
第一步:编写自己的公用控制器继承父类,mvc默认控制器都继承Controller,
public class MainController : Controller{
string Title="":
string Keyword="";
.........................
}
第二步:自己新见的所有控制器都改成继承自己的
public class DefaultController : MainController{
//通过
this.Title就能获取公用值
}