【转载】MVC中对controller的抽象 ||基于ASP.NET MVC 3的企业应用项目总结   为期三个月的开发加测试工作终于告一段落了,这是我们团队第一次采用ASP.NET MVC,直接使用最新的MVC 3开发企业应用,期间碰到了很多问题,但在大家的努力下,也都一一解决,先简单介绍一下项目情况吧,是公司的一套业务运营系统,总的从技术实现难度来讲,没有什么特殊的地方,只有相关部分的业务逻辑算法比较复杂。项目开始前,最大的风险在于整个team除了另外一名同?

微软正式发布支持Visual Studio 2008的Enterprise Library 4.0

MVC中对controller的抽象

将所有controller的公共属性和方法提取出来,放到一个controller基类里,共其它controller使用,这无疑不是一个好的选择,以下是我的项目中controller层的抽象,分享一下代码:

/// <summary>

/// Controller基类

/// </summary>

public abstract class ControllerBase : Controller

{

#region Fields

#endregion

#region Constructor

#endregion

#region Properties

/// <summary>

/// 通用信息(一般由service层返回的)

/// </summary>

protected Entity.VMessage VMessage { get; set; }

#endregion

#region Protected Consts

/// <summary>

/// 每页显示的记录数

/// </summary>

protected const int PAGESIZE = 10;

#endregion

#region Protected virtual Properties

/// <summary>

/// 查询器属性

/// </summary>

protected virtual Entity.VPredication vp { get; set; }

/// <summary>

/// 分页结构属性

/// </summary>

protected virtual Entity.PagingParam pp { get; set; }

#endregion

#region Protected virtual Methods

/// <summary>

/// 操作后,显示的提示成功或失败的信息

/// author:zzl

/// </summary>

/// <param name="msg">提示信息,操作成功或操作失败</param>

/// <param name="url">点击返回列表后,所进入的地址</param>

/// <returns></returns>

protected virtual string DisplayMsg(string msg, string url)

{

string message = string.Format("<div >{0},<a href='{1}'>返回列表</a></div>", msg, url);

return message;

}

protected virtual string DisplayMsg(string msg)

{

string message = string.Format("<div >{0}</div>", msg);

return message;

}

#endregion

#endregion

}

将所有controller的公共属性和方法提取出来,放到一个controller基类里,共其它controller使用,这无疑不是一个好的选择,以下是我的项目中controller层的抽象,分享一下代码:

/// <summary>

/// Controller基类

/// </summary>

public abstract class ControllerBase : Controller

{

#region Fields

#endregion

#region Constructor

#endregion

#region Properties

/// <summary>

/// 通用信息(一般由service层返回的)

/// </summary>

protected Entity.VMessage VMessage { get; set; }

#endregion

#region Protected Consts

/// <summary>

/// 每页显示的记录数

/// </summary>

protected const int PAGESIZE = 10;

#endregion

#region Protected virtual Properties

/// <summary>

/// 查询器属性

/// </summary>

protected virtual Entity.VPredication vp { get; set; }

/// <summary>

/// 分页结构属性

/// </summary>

protected virtual Entity.PagingParam pp { get; set; }

#endregion

#region Protected virtual Methods

/// <summary>

/// 操作后,显示的提示成功或失败的信息

/// author:zzl

/// </summary>

/// <param name="msg">提示信息,操作成功或操作失败</param>

/// <param name="url">点击返回列表后,所进入的地址</param>

/// <returns></returns>

protected virtual string DisplayMsg(string msg, string url)

{

string message = string.Format("<div >{0},<a href='{1}'>返回列表</a></div>", msg, url);

return message;

}

protected virtual string DisplayMsg(string msg)

{

string message = string.Format("<div >{0}</div>", msg);

return message;

}

#endregion

#endregion

}