1 / 16
文档名称:

基于MVC4+EasyUI的Web开发框架形成之旅--MVC控制器的设计.doc

格式:doc   页数:16
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于MVC4+EasyUI的Web开发框架形成之旅--MVC控制器的设计.doc

上传人:799474576 2013/10/28 文件大小:0 KB

下载得到文件列表

基于MVC4+EasyUI的Web开发框架形成之旅--MVC控制器的设计.doc

文档介绍

文档介绍:自从上篇《基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍》总体性的概括,得到很多同行的关注和支持,不过上一篇主要是介绍一个总体的界面效果和思路,本系列的文章将逐步介绍其中的细节,本文主要介绍整个Web开发框架中的MVC控制器的设计。在设计之初,我就希望尽可能的减少代码,提高编程模型的统一性。因此希望能够以基类继承的方式,和我Winform开发框架一样,尽可能通过基类,而不是子类的重复代码来实现各种通用的操作。
1、登录控制的控制器基类设计
我们知道,一般我们创建一个MVC的控制器,都是基于Controller这样的基类来实现。如下代码所示。
public class TestController : Controller
{
//
// GET: /Test/

public ActionResult Index()
{
return View();
}
}
在我的Winform开发框架里面,用到了泛型的类型,非常方便实现业务逻辑和数据访问基类的设计,控制器是否也可以这样做的呢?
我们知道,一般的MVC控制器需要验证用户是否已经登陆了,这也是很多常见Web操作前的验证,还有对异常的处理,在MVC的基类,可以一并进行记录(这个非常不错),于是我们先来设计一个验证用户身份是否登陆的基类BaseController
/// <summary>
/// 所有需要进行登录控制的控制器基类
/// </summary>
public class BaseController : Controller
{
/// <summary>
/// 当前登录的用户属性
/// </summary>
public UserInfo CurrentUserInfo { get; set; }
/// <summary>
/// 重新基类在Action执行之前的事情
/// </summary>
/// <param name="filterContext">重写方法的参数</param>
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
(filterContext);
//得到用户登录的信息
CurrentUserInfo = Session["UserInfo"] as UserInfo;
http://wangming.
//判断用户是否为空
if (CurrentUserInfo == null)
{
("/Login/Index");
}
}
protected override void OnException(ExceptionContext filterContext)
{
(filterContext);
//错误记录
();
// 当自定义显示错误 mode = On,显示友好错误页面
if ()
{
= true;
("Error").ExecuteResult();
}
}
........................
}
有了这个基类,我们在主页的Home控制类,就可以使用用户信息对象了进行操作了,而且必须要求客户登陆了。
public class HomeController : BaseController
{
public ActionResult Index()
{
if (CurrentUserInfo != null)
{
= ;
= ;
}
return View();
}
................
}
 
2、数据访问业务基类控制器的设计
我在我的Winform开发框架里面,对很多基类都使用泛型进行设计,这样可以传递相应的数据类型到基类里面进行处

最近更新

2026年以冬天的景色初三中学生作文 7页

2026年以健康运动为话题高三作文 11页

2026年以亲情为主题的演讲稿 7页

绿地生态服务功能量化 35页

肥胖手术儿童远期效果 35页

美妆IP视觉识别系统设计 35页

2026年他从火光中走来蒋格喜欢南初吗 4页

2026年仓库管理工作计划(10篇) 21页

2026年仓库管理制度大全流程 59页

高铁智能调度优化 35页

高精度有限元方法在工程实验对比中的应用研究.. 35页

网格化管理对社区环境影响的评估研究 24页

高效喷枪结构设计研究 36页

维修大数据隐私保护 35页

风力发电技术革新 28页

高性能MongoDB集群配置优化 28页

骨组织工程在牙槽骨再生中的临床前研究 28页

风机叶片复合材料-第1篇 36页

2024年安徽矿业职业技术学院单招职业技能考试.. 41页

2024年安徽粮食工程职业学院单招职业技能考试.. 42页

2024年安徽绿海商务职业学院单招职业技能测试.. 42页

2024年安徽职业技术学院单招职业技能考试题库.. 41页

2024年安徽艺术职业学院单招职业技能考试模拟.. 39页

2024年安徽警官职业学院单招职业适应性测试模.. 39页

2024年安徽邮电职业技术学院单招职业技能考试.. 41页

2024年安徽马钢技师学院单招职业技能考试题库.. 39页

2024年安徽黄梅戏艺术职业学院单招职业技能考.. 41页

2024年安顺职业技术学院单招职业技能测试题库.. 39页

2024年宜宾职业技术学院单招职业适应性测试模.. 40页

2024年宜昌科技职业学院单招职业适应性测试模.. 40页