首页 > 代码库 > return view 详解 MVC
return view 详解 MVC
1、return View();
返回值
类型:System.Web.Mvc.ViewResult
将视图呈现给响应的 View() 结果。
在运行时,如果 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 框架会将该对象写入响应。
参数
- 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"//文件类型 ); }
return view 详解 MVC