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);
返回值
类型:System.Web.Mvc.ViewResult
视图结果。
在执行此方法所准备的结果对象时,ASP.NET MVC 框架会将该对象写入响应。
6 return View(string viewName, string masterName);
返回值
类型:System.Web.Mvc.ViewResult
视图结果。
在执行此方法所准备的结果对象时,ASP.NET MVC 框架会将该对象写入响应。
返回值
类型: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的更多相关文章
- return view详解
1.return View(); 返回值 类型:System.Web.Mvc.ViewResult将视图呈现给响应的 View() 结果. 注释 View() 类的此方法重载将返回一个具有空 View ...
- return view详解(转载)
1.return View(); 返回值 类型:System.Web.Mvc.ViewResult将视图呈现给响应的 View() 结果. 注释 View() 类的此方法重载将返回一个具有空 View ...
- Android 自定义 View 详解
View 的绘制系列文章: Android View 绘制流程之 DecorView 与 ViewRootImpl Android View 的绘制流程之 Measure 过程详解 (一) Andro ...
- Django 框架篇(四) : 视图(view)详解 以及 路由系统(url)
|--Django的View(视图) |-- CBV和FBV: |-- 给视图增加装饰器: |-- request对象: |-- response对象: |-- Django的路由系统(url): | ...
- 深入了解View实现原理以及自定义View详解
下面几篇文章对View的原理讲的非常详细. Android LayoutInflater原理分析,带你一步步深入了解View(一) Android视图绘制流程完全解析,带你一步步深入了解View(二) ...
- AngularJS开发指南11:AngularJS的model,controller,view详解
model model这个词在AngularJS中,既可以表示一个(比如,一个叫做phones的model,它的值是一个包含多个phone的数组)对象,也可以表示应用中的整个数据模型,这取决于我们所讨 ...
- 详解MVC设计模式
1 MVC介绍 众所周知MVC不是设计模式,是一个比设计模式更大一点的模式,称作设计模式不合理,应该说MVC它是一种软件开发架构模式,它包含了很多的设计模式,最为密切是以下三种:Observer (观 ...
- 面试之路(3)-详解MVC,MVP,MVVM
一:mvc mvc结构: 视图(View):用户界面. 控制器(Controller):业务逻辑 模型(Model):数据保存 mvc各部分的通信方式 mvc互动模式 通过 View 接受指令,传递给 ...
- django性能优化缓存view详解
缓存提升性能: 1.通常的view会去数据库端执行相关的查询然后交由template渲染.数据库访问通常就是性能的瓶颈所在. 2.由于许多数据要很久才会变一次.两次连续的数据库访问通常返回的数据是一样 ...
随机推荐
- spring定时任务.线程池,自定义多线程配置
定时任务及多线程配置xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...
- java读取Properties文件及赋值
懒得整理了,直接复制我工程里的代码: 第一个读取文件的类可以直接复制, 不复制的话,在下面取值和赋值部分的代码new EmailProperRead(systemType).properties根据自 ...
- 10g RAC 采用service达到taf
service由于oracle数据库中的一个关键概念,利用得当,可以轻松地管理数据库,提高数据库的工作效率. 经service.oracle可以实现server side taf,简单化client ...
- DB 查询分析器 轻松创建DB2定义他们自己的函数
DB 查询分析器 方便地创建DB2自己定义函数 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要 ...
- iOS开展block说明
源代码下载 浅谈block使用方法 对于block他用着确实方便,好多人都非常迷茫,这里写了一个Demo解说block的使用方法 好多人都觉得block是用于后一个界面向前一个界面传值用的,事实上更详 ...
- Java文件运用
1.使用java修改文件内容: package fileopt; import java.io.BufferedReader; import java.io.BufferedWriter; impor ...
- VC实现程序重启的做法
作者:朱金灿 来源:http://blog.csdn.net/clever101 很多时候系统有很多配置项,修改了配置项之后能有一个按钮实现系统重启.所谓重启就是杀死系统的当前进程,然后重新开一个新进 ...
- C ++ 17 技术上已经完成,C ++ 20 也在路上(有路线图)
在前不久结束的冬季 ISO C ++标准会议(Kona)上,C ++ 17 宣布在技术上已完成,仅剩下一些 ISO 相关的繁文缛节,即将提交至最终的 ISO 投票表决.该会议由 Plum Hall 和 ...
- POJ - 2991 Crane (段树+计算几何)
Description ACM has bought a new crane (crane -- jeřáb) . The crane consists of n segments of variou ...
- Android 开发相关
1.app下载更新 https://git.oschina.net/lwngreat/UpdateHelper
