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"//文件类型
);
}

return view 详解 MVC的更多相关文章

  1. return view详解

    1.return View(); 返回值 类型:System.Web.Mvc.ViewResult将视图呈现给响应的 View() 结果. 注释 View() 类的此方法重载将返回一个具有空 View ...

  2. return view详解(转载)

    1.return View(); 返回值 类型:System.Web.Mvc.ViewResult将视图呈现给响应的 View() 结果. 注释 View() 类的此方法重载将返回一个具有空 View ...

  3. Android 自定义 View 详解

    View 的绘制系列文章: Android View 绘制流程之 DecorView 与 ViewRootImpl Android View 的绘制流程之 Measure 过程详解 (一) Andro ...

  4. Django 框架篇(四) : 视图(view)详解 以及 路由系统(url)

    |--Django的View(视图) |-- CBV和FBV: |-- 给视图增加装饰器: |-- request对象: |-- response对象: |-- Django的路由系统(url): | ...

  5. 深入了解View实现原理以及自定义View详解

    下面几篇文章对View的原理讲的非常详细. Android LayoutInflater原理分析,带你一步步深入了解View(一) Android视图绘制流程完全解析,带你一步步深入了解View(二) ...

  6. AngularJS开发指南11:AngularJS的model,controller,view详解

    model model这个词在AngularJS中,既可以表示一个(比如,一个叫做phones的model,它的值是一个包含多个phone的数组)对象,也可以表示应用中的整个数据模型,这取决于我们所讨 ...

  7. 详解MVC设计模式

    1 MVC介绍 众所周知MVC不是设计模式,是一个比设计模式更大一点的模式,称作设计模式不合理,应该说MVC它是一种软件开发架构模式,它包含了很多的设计模式,最为密切是以下三种:Observer (观 ...

  8. 面试之路(3)-详解MVC,MVP,MVVM

    一:mvc mvc结构: 视图(View):用户界面. 控制器(Controller):业务逻辑 模型(Model):数据保存 mvc各部分的通信方式 mvc互动模式 通过 View 接受指令,传递给 ...

  9. django性能优化缓存view详解

    缓存提升性能: 1.通常的view会去数据库端执行相关的查询然后交由template渲染.数据库访问通常就是性能的瓶颈所在. 2.由于许多数据要很久才会变一次.两次连续的数据库访问通常返回的数据是一样 ...

随机推荐

  1. Android Studio教程-创建第一个项目Hello World

    前段时间打开Android studio 在build过程中总会出现以下错误 Error:Execution failed for task ':app:preDebugAndroidTestBuil ...

  2. 6LoWPAN - Transmission of IPv6 Packets over IEEE 802.15.4 Networks

    6LoWPAN covered topics include the following:   Frame format for transmission of IPv6 packets Method ...

  3. 解决 ubuntu 14.04.1 下一个sublime text3 3065 中国输入的问题

    你看今天 sublime text3 我以前有没有3059 的  它有支持3065该. 因此,为了支持subl  对中国输入法的实现 ,下面的操作步骤把我的记录供大家使用 有一个完整的教程:  htt ...

  4. Windows多线程系列

    来自CSDN - 秒杀多线程系列.覆盖了Windows系统的线程同步机制.对于理解各种锁以及多线程典型场景很有帮助.

  5. wpf Storyboard 不存在可解析名称“ ”的适用名称领域 No applicable name scope exists to resolve the name

    原文:wpf Storyboard 不存在可解析名称“ ”的适用名称领域 No applicable name scope exists to resolve the name 写了一个 Storyb ...

  6. React路由配置

    React路由简单配置 //入口文件index.js import React from 'react'; import ReactDom from 'react-dom'; import { Rou ...

  7. asp .net 文件浏览功能

    达到的目的是,发布站点后,在站点某个目录下的图片文件可以通过url访问 步骤 1.新建一个网站 注意,不要建立在需要较高访问权限的地方,不要建立空网站 如果是需要较高访问权限的目录,而IIS本身账号的 ...

  8. VisualStateManager

    管理控件状态和管理控件状态的转换逻辑 <Window.Resources> <Style TargetType="Button" x:Key="Anim ...

  9. JS实时检测文本框内容长度

    通过js代码实时监测,文本框内容的变化以及长度,下图是一个实际使用场景. HTML部分: <input id="Text1" type="text" on ...

  10. Android 调试桥(adb)是多种用途的工具

    Android 调试桥 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理 ...