日期:2014-05-16  浏览次数:20842 次

ASP.NET MVC中Action返回值类型

Action的返回值类型一共提供了十几种。简单概括一下其中很常用的几种类型。

1、ActionResult

所有的 Result 都派生自 ActionResult抽象类,因此 ActionResult 作为基类提供了最基础的功能,ActionResult 是一个抽象类,其声明如下:

public abstract class ActionResult {
        public abstract void ExecuteResult(ControllerContext context);
}


 2、EmptyResult

示public class EmptyResult : ActionResult {

        private static readonly EmptyResult _singleton = new EmptyResult();
        internal static EmptyResult Instance {
            get {
                return _singleton;
            }
        }
        public override void ExecuteResult(ControllerContext context) {
        }
    }

Action中,若要返回一个空的页面(不常用),则可如下:

public ActionResult Index()
{
	return new EmptyResult();
}

3、RedirectResult

   public override void ExecuteResult(ControllerContext context) {
            if (context == null) {
                throw new ArgumentNullException("context");
            }
            string destinationUrl = UrlHelper.Content(Url, context.HttpContext);
            context.HttpContext.Response.Redirect(destinationUrl, false /* endResponse */);
        }

 RedirectResult用于执行转移。事实上 RedirectResult