return view 详解 MVC

1、return View();

返回值

类型:System.Web.Mvc.ViewResult
将视图呈现给响应的 View() 结果。
注释
View() 类的此方法重载将返回一个具有空 ViewName 属性的 ViewResult 对象。 如果你正在编写控制器操作的单元测试,则需为那些不采用字符串视图名称的单元测试考虑到空 ViewName 属性。

在运行时,如果 ViewName 属性为空,则将使用当前操作名称取代 ViewName 属性。

2、return View(object model);   

参数

model
类型:System.Object
视图呈现的模型。

返回值

类型:System.Web.Mvc.ViewResult
视图结果。
注释
 

View() 方法的此重载将返回一个具有空 ViewName 属性的 ViewResult 对象。 如果你正在编写控制器操作的单元测试,则需为那些不采用字符串视图名称的单元测试考虑到空 ViewName 属性。

3、return View(string viewName);

参数

viewName
类型:System.String
为响应呈现的视图的名称。

返回值

类型:System.Web.Mvc.ViewResult
视图结果。
注释
 

在执行此方法所准备的结果对象时,ASP.NET MVC 框架会将该对象写入响应。

4、return View(IView view);

参数

view
类型:System.Web.Mvc.IView
为响应呈现的视图。

返回值

类型:System.Web.Mvc.ViewResult
视图结果。
注释
 

在执行此方法所准备的结果对象时,ASP.NET MVC 框架会将该对象写入响应。

5 return View(string viewName, object model);

参数

viewName
类型:System.String
为响应呈现的视图。
model
类型:System.Object
视图呈现的模型。

返回值

类型:System.Web.Mvc.ViewResult
视图结果。
注释
 

在执行此方法所准备的结果对象时,ASP.NET MVC 框架会将该对象写入响应。

6 return View(string viewName, string masterName);

参数

viewName
类型:System.String
为响应呈现的视图的名称。
masterName
类型:System.String
在呈现视图时要使用的母版页或模板的名称。

返回值

类型:System.Web.Mvc.ViewResult
视图结果。
注释
 

在执行此方法所准备的结果对象时,ASP.NET MVC 框架会将该对象写入响应。

7 return View(IView view, object model); 

参数

view
类型:System.Web.Mvc.IView
为响应呈现的视图。
model
类型:System.Object
视图呈现的模型。

返回值

类型:System.Web.Mvc.ViewResult
视图结果。
注释
 

在执行此方法所准备的结果对象时,ASP.NET MVC 框架会将该对象写入响应

8return View(string viewName, string masterName, object model);

参数

viewName
类型:System.String
为响应呈现的视图的名称。
masterName
类型:System.String
在呈现视图时要使用的母版页或模板的名称。
model
类型:System.Object
视图呈现的模型。

返回值

类型:System.Web.Mvc.ViewResult
视图结果。
注释
 

在执行此方法所准备的结果对象时,ASP.NET MVC 框架会将该对象写入响应。

 
显示: 
 名称说明
公共属性 MasterName 获取在呈现视图时要使用的母版视图(如母版页或模板)的名称。
公共属性 Model 获取视图数据模型。 (从 ViewResultBase 继承。)
公共属性 TempData 获取或设置此结果的 TempDataDictionary 对象。 (从 ViewResultBase 继承。)
公共属性 View 获取或设置呈现给响应的 IView 对象。 (从 ViewResultBase 继承。)
公共属性 ViewBag 获取视图包。 (从 ViewResultBase 继承。)
公共属性 ViewData 获取或设置此结果的视图数据 ViewDataDictionary 对象。 (从 ViewResultBase 继承。)
公共属性 ViewEngineCollection 获取或设置与此结果关联的视图引擎的集合。 (从 ViewResultBase 继承。)
公共属性 ViewName 获取或设置要呈现的视图的名称。 (从 ViewResultBase 继承。)
  

我们上边所看到的Action都是return View();我们可以看作这个返回值用于解析一个aspx文件。而它的返回类型是ActionResult如

      public ActionResult Index()
        {
            return View();
        }

除了View()之外那我们这里还能用于返回什么值呢?

一、ascx页面

场景:要返回代码片断,比如Ajax返回一个子页

我们先新建一个Action

        public ActionResult Ascx()
        {
            return PartialView();
        }

我们下面再建一个View,仍然是在Action中点右键,AddView。

 

注意图中勾选。

于是新建了一个ascx页,我们将之少做改写一下

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>

<div>
得到一个DIV
</div>

运行,得到页面

 

二、返回文本

除了上述情况,有时我们还会仅返回一段文本。

此时我们可以使用以下Action形式:

        public ActionResult Text(){
            return Content("这是一段文本");
        }

三、返回Json

有时我们在调用Ajax时还会要求返回对象为Json序列化的结果,如:

        public ActionResult ShowJson()
        {
            var m = new EiceIndexModel
            {
                Name = "邹健",
                Sex = true
            };
            return Json(m);
        }

返回文本:

{"Name":"邹健","Sex":true}

四、输出JS文件

大多时候js文件都是静态的,但有时js文件可能也要动态生成这时我们可以这样输出

        public ActionResult Js()
        {
            return JavaScript("var x=0;");
        }

我们访问之,得到一个正常页面但其Content-Type:application/x-javascript; charset=utf-8

五、页面跳转

1.跳转到Url

        public ActionResult rdurl()
        {
            return Redirect("http://www.baidu.com");
        }

2.跳转到Action

        public ActionResult rdaction()
        {
            return RedirectToAction("Index","Eice");
        }

3.跳转到Routing规则

        public ActionResult rdrouting()
        {
            return RedirectToRoute("Default",//Route名
              new{
                  Controller = "Eice",
                  Action = "Index"
              });
        }

六、显示文件

        public ActionResult fn()
        {
            return File(
                "/Content/site.css"//文件路径
                , "text/css"//文件类型
                );
        }
原文地址:https://www.cnblogs.com/jack-Star/p/4062557.html