Action的返回值

MVC 中的 ActionResult是其他所有Action返回类型的基类,下面是我总结的返回类型,以相应的帮助方法:

下面是这些方法使用的更详细的例子

一、返回View     View()方法的几种重载:

public ViewResult Index() {
    return View();
}
 
public ViewResult Index() {
    return View("Index", "_AlternateLayoutPage");
}
 
public ViewResult Index() {
    return View("~/Views/Other/Index.cshtml");
}

二、返回partialView

       public ActionResult PartialViewResult()
        {
            return PartialView();
        }
 
        //禁止直接访问的ChildAction
        [ChildActionOnly]
        public ActionResult ChildAction()
        {
            return PartialView();
        }

我们直接右键当前的Action名称就可以创建与Action同名的View,无参数的情况下,PartialView返回的就是与Action同名的View。

三、跳转的几种实现方式

1、通过静态URL进行跳转:
public RedirectResult Redirect() {
    return Redirect("/Example/Index");
}
 
2、通过RedirectToRoute方法跳转:
public RedirectToRouteResult Redirect() {
   return RedirectToRoute(new {
        controller = "Example",
        action = "Index",
        ID = "MyID"
   });
}
 
3、通过RedirectToAction方法跳转:
public RedirectToRouteResult Redirect() {
    return RedirectToAction("Index", "Basic");                       //如果只有action名称的话,Controller默认为当前Controller
}

四、返回json字符串

public ActionResult Json() 
{
        Dictionary<string,object> dic = new Dictionary<string, object>(); 
        dic.Add("id",100); 
        dic.Add("name","hello"); 
        return Json(dic, JsonRequestBehavior.AllowGet); 

主要用于返回json格式对象,可以用ajax操作;
注意:需要设置参数,JsonRequestBehavior.AllowGet,否则会提示错误:此请求已被阻止,因为当用在GET 请求中时,会将敏感信息透漏给第三方网站。

若要允许 GET 请求,请将JsonRequestBehavior设置为AllowGet。

五、返回ContentResult

public ActionResult Content() 

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

页面输出“Test Content”;此类型多用于在ajax操作中需要返回的文本内容

六、返回JavaScriptResult

public ActionResult JavaScript() 

       string str =string.Format("alter('{0}');", "弹出窗口"); 
       return JavaScript(str); 

这里并不会直接响应弹出窗口,需要用页面进行再一次调用。这个可以方便根据不同逻辑执行不同的js操作但

七、返回FileResult

public ActionResult File() 

       string fileName ="~/Content/test.zip"; // 文件名 
        string downFileName ="文件显示名称.zip"; // 要在下载框显示的文件名 
         return File(fileName,"application/octet-stream", downFileName); 

直接下载test.zip后保存到本地则为"文件显示名称.zip"

八、返回404、401

返回404public HttpStatusCodeResult StatusCode() {
     return HttpNotFound();
} 返回401
public HttpStatusCodeResult StatusCode() {
    return new HttpUnauthorizedResult();
}

Action的返回值类型总结的更多相关文章

  1. ASP.NET Core中的Action的返回值类型

    在Asp.net Core之前所有的Action返回值都是ActionResult,Json(),File()等方法返回的都是ActionResult的子类.并且Core把MVC跟WebApi合并之后 ...

  2. Controller 中Action 返回值类型 及其 页面跳转的用法

        •Controller 中Action 返回值类型 View – 返回  ViewResult,相当于返回一个View 页面. -------------------------------- ...

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

    [Asp.net MVC中Controller返回值类型] 在mvc中所有的controller类都必须使用"Controller"后缀来命名并且对Action也有一定的要求: 必 ...

  4. Web API中的返回值类型

    WebApi中的返回值类型大致可分为四种: Void/ IHttpActionResult/ HttpResponseMessage /自定义类型 一.Void void申明方法没有返回值,执行成功后 ...

  5. SSM框架之SpringMVC(4)返回值类型及响应数据类型

    SpringMVC(4)返回值类型及响应数据类型 1. 返回值分类 1.1. 返回字符串 Controller方法返回字符串可以指定逻辑视图的名称,根据视图解析器为物理视图的地址. @RequestM ...

  6. SpringMVC方法的返回值类型和自动装配

    1. void类型作为返回值类型 /** * 如果方法写成了void就跟原来servlet含义是差不多 的 * json */ @RequestMapping("/firstRequest& ...

  7. springMVC入门(四)------参数绑定与返回值类型

    简介 从之前的介绍,已经可以使用springMVC完成完整的请求.返回数据的功能. 待解决的问题:如何将数据传入springMVC的控制器进行后续的处理,完成在原生servlet/jsp开发中Http ...

  8. C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解

    前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇 C#进阶系列——WebApi接口传参不再困惑:传参详解  ...

  9. ajaxpro返回值类型总结-DataTable(转)

    ajaxpro使用总结系列其他内容 ajaxpro ajaxmethod 重载调用问题 ajaxpro方法ajaxmethod调用示例 ajaxpro返回值类型总结-string,int ajaxpr ...

随机推荐

  1. memcache学习使用

    一.安装 二.telnet测试 启动:memcached -d -m 120.24.242.100 -p 11211 -u root 测试:telnet localhost 11211 >> ...

  2. QR码生成原理

    一.什么是QR码 QR码属于矩阵式二维码中的一个种类,由DENSO(日本电装)公司开发,由JIS和ISO将其标准化.QR码的样子其实在很多场合已经能够被看到了,我这还是贴个图展示一下: 这个图如果被正 ...

  3. 「操作系统」: Conditional Move Instructions(trap)

    Not all conditional expressions can be compiled using conditional moves. Most significantly, the abs ...

  4. android -- 蓝牙 bluetooth (一) 入门

    前段时间在 网上看了一些关于android蓝牙的文章,发现大部分是基于老版本(4.1以前含4.1)的源码,虽然无碍了解蓝牙的基本原理和工作流程,但对着4.2.2的代码看起来总是有些遗憾.所以针对4.2 ...

  5. for循环语句之求和,阶乘,求偶,求n次篮球蹦起高度

    for循环语句格式: ;;/*循环条件*/i++/*状态改变*/) { //循环体,执行代码:(break;跳出循环体) } for 穷举法用循环把各种可能的情况都走一遍,然后用if条件把满足要求的结 ...

  6. win8系统特别慢的基本判断方法

    单位有6,7台同事的电脑是win8.1.不知道什么原因,两位领导反映电脑特别慢. 我查看了一下,确实很慢. 虽然知道win8系统不好,但也不至于这样. 打开任务管理器,看了一下cpu和内存的使用状态, ...

  7. iOS开发关于AppStore程序的上传流程

    主要内容: 1.创建唯一标示符App ID(前提是你的程序在真机上测试没有任何问题) 2.申请发布证书 3.申请发布描述文件 4.iTunes Connect创建App并填写信息 5.选择证书编译打包 ...

  8. postgres-xc手册生成方法

    步骤   检测编译环境  安装编译工具  编译 以上只在linux环境当中进行,本人所用系统ubuntu15.04 检测编译环境 在posgtgresql目录下运行./configure,并安装需要安 ...

  9. Linux怎么设置PostgreSQL远程访问

    原文链接: Linux怎么设置PostgreSQL远程访问 安装PostgreSQL数据库之后,默认是只接受本地访问连接.如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相应的配置. ...

  10. ecshop后台添加栏目

    ecshop后台增加模块菜单详细教程 一:ecshop后台管理 admin\includes\inc_menu.php 添加上你要添加的功能admin\includes\inc_priv.php 对应 ...