ASP.NET MVC中Controller返回值类型ActionResult

1、返回ViewResult视图结果,将视图呈现给网页

    public class TestController : Controller
    {
        //必须存在Controller\Test\Index.cshtml文件
        public ActionResult Index()
        {
            return View();
        }
    }

2、 返回PartialViewResult部分视图结果,主要用于返回部分视图内容

        //在View/Shared目录下创建ViewUserControl.cshtml部分视图
        public ActionResult UserControl()
        {
            return PartialView("ViewUserControl");
        } 

3、 返回ContentResult用户定义的内容类型 

public ActionResult Content()
{
   return Content("Test Content", "text/html"); // 可以指定文本类型
}  

4、 返回JsonResult序列化的Json对象

        public ActionResult Index()
        {
            //主要用于返回json格式对象,可以用ajax操作;
            //注意:需要设置参数,JsonRequestBehavior.AllowGet,
            //否则会提示错误:此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站。
            //若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet。
            Dictionary<string, object> dic = new Dictionary<string, object>();
            dic.Add("id", 100);
            dic.Add("name", "hello");
            return Json(dic, JsonRequestBehavior.AllowGet);
        }

5、返回JavaScriptResult可在客户端执行的脚本

        public ActionResult Index()
        {
            //但这里并不会直接响应弹出窗口,需要用页面进行再一次调用。
            //这个可以方便根据不同逻辑执行不同的js操作
            string str = string.Format("alter(‘{0}‘);", "弹出窗口");
            return JavaScript(str);
        }

6、返回FileResult要写入响应中的二进制输出,一般可以用作要简单下载的功能

        public ActionResult Index()
        {
            //直接下载test.zip后保存到本地则为"文件显示名称.zip
            string fileName = "~/Content/test.zip"; // 文件名
            string downFileName = "文件显示名称.zip"; // 要在下载框显示的文件名
            return File(fileName, "application/octet-stream", downFileName);
        }

7.返回Null或者Void数据类型的EmptyResult

        public ActionResult Index()
        {
            return null;
        }

8、重定向方法:Redirect / RedirectToAction / RedirectToRoute

    public class TestController : Controller
    {
        public ActionResult Index(int id = 0, string name = "")
        {
            return View();
        }

        //Redirect:直接转到指定的url地址
        public ActionResult Redirect()
        {
            return Redirect("http://www.baidu.com");
        }

        //RedirectToAction:直接使用 Action Name 进行跳转,也可以加上ControllerName
        public ActionResult RedirectResult()
        {
            return RedirectToAction("Index", "Test", new { id = 100, name = "liu" });
        }

        //RedirectToRoute:指定路由(RouteConfig注册的路由规则)进行跳转
        public ActionResult RedirectRouteResult()
        {
            return RedirectToRoute("Default", new { controller = "Test", action = "Index" });
        }
    }
时间: 2024-10-17 15:04:39

ASP.NET MVC中Controller返回值类型ActionResult的相关文章

Asp.net MVC 中Controller返回值类型ActionResult

内容转自 http://blog.csdn.net/pasic/article/details/7110134 Asp.net MVC中Controller返回值类型 在mvc中所有的controller类都必须使用"Controller"后缀来命名并且对Action也有一定的要求: 必须是一个public方法 必须是实例方法 没有标志NonActionAttribute特性的(NoAction) 不能被重载 必须返回ActionResult类型 如: [csharp] view pl

Controller返回值类型ActionResult

在mvc中所有的controller类都必须使用"Controller"后缀来命名并且对Action也有一定的要求: 必须是一个public方法 必须是实例方法 没有标志NonActionAttribute特性的(NoAction) 不能被重载 必须返回ActionResult类型 下面列举Asp.net MVC中Controller中的ActionResult返回类型1.返回ViewResult视图结果,将视图呈现给网页 public ActionResult About() { r

ASP.NET MVC – 关于Action返回结果类型的事儿(上)

原文:ASP.NET MVC – 关于Action返回结果类型的事儿(上) 本文转自:博客园-文超的技术博客 一.         ASP.NET MVC 1.0 Result 几何? Action的返回值类型到底有几个?咱们来数数看. ASP.NET MVC 1.0 目前一共提供了以下十几种Action返回结果类型: 1.       ActionResult(base) 2.       ContentResult 3.       EmptyResult 4.       HttpUnau

Asp.net mvc中Controller的返回值

其他资料:https://blog.csdn.net/zgscwxd/article/details/97518190 1)EmptyResult:当用户有误操作或者是图片防盗链的时候,这个EmptyResult就可以派上用场,返回它可以让用户啥也看不到内容,通过访问浏览器端的源代码,发现是一个空内容: public ActionResult EmptyResult() { //空结果当然是空白了! //至于你信不信, 我反正信了 return new EmptyResult(); } (2)C

(四)ASP.NET MVC 中 Controller 给 View 传递数据的方式

1. ViewData: 以 ViewData["keyname"] = value 这样键值对的方式进行数据传送.在对应的 cshtml 中用 @ViewData["keyname"] 来获取值. 2. ViewBag: ViewBag 是 dynamic 类型的,是对 ViewData 的一人动态类型封装,用起来更方便,和 ViewData 共同操作一个数据 .在 Controller 中使用 ViewBag.keyname=value 来赋值,在 cshtml

Asp.net MVC中 Controller 与 View之间的数据传递

在ASP.NET MVC中,经常会在Controller与View之间传递数据 1.Controller向View中传递数据 (1)使用ViewData["user"] (2)使用ViewBag.user (3)使用TempData["user"] (4)使用Model(强类型) 区别: (1)ViewData与TempData方式是弱类型的方式传递数据,而使用Model传递数据是强类型的方式. (2)ViewData与TempData是完全不同的数据类型,View

ASP.NET MVC中Controller与View之间的数据传递总结

在ASP.NET MVC中,经常会在Controller与View之间传递数据,因此,熟练.灵活的掌握这两层之间的数据传递方法就非常重要.本文从两个方面进行探讨: Ø Controller向View传递数据 Ø View向Controller传递数据 一.Controller向View传递数据 1.       使用ViewData传递数据 我们在Controller中定义如下: ViewData[“Message”] = “Hello word!”; 然后在View中读取Controller中

ASP.NET MVC中Controller与View之间的数据传递

一.Controller向View传递数据 Controller向View传递数据有3种形式: 1.通过ViewData传递 在Controller里面定义ViewData,并且赋值,比如 ViewData["contact"] = contact; 然后在View里面读取Controller中定义的ViewData数据 比如联系人: <input type="text" value='<%=ViewData["contact"] %

Spring MVC方法的返回值类型

一,String类型作为返回值类型 返回值类型为String时,一般用于返回视图名称 1.当方法返回值为Null时,默认将请求路径当做视图 /jsp/thread/secondRequest.jsp 如果说没有试图解析器,如果返回值为Null携带数据只能用JSON 2.当方法返回一个String的字符串时,当字符串为逻辑视图名时只返回视图,如果要携带数据则使用request,session或者Json 如果要用Model或者ModelMap传递数据,那么Model或者ModelMap绝对是方法入