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"//文件类型
                );
        }
时间: 2024-11-02 12:27:15

return view 详解 MVC的相关文章

return view详解(转载)

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

自定义View详解

自定义View详解 虽然之前也分析过View回执过程,但是如果让我自己集成ViewGroup然后自己重新onMeasure,onLayout,onDraw方法自定义View我还是会头疼.今天索性来系统的学习下. onMeasure /** * <p> * Measure the view and its content to determine the measured width and the * measured height. This method is invoked by {@l

Android 自定义 View 详解

View 的绘制系列文章: Android View 绘制流程之 DecorView 与 ViewRootImpl Android View 的绘制流程之 Measure 过程详解 (一) Android View 的绘制流程之 Layout 和 Draw 过程详解 (二) Android View 的事件分发原理解析 对于 Android 开发者来说,原生控件往往无法满足要求,需要开发者自定义一些控件,因此,需要去了解自定义 view 的实现原理.这样即使碰到需要自定义控件的时候,也可以游刃有

详解MVC设计模式

1 MVC介绍 众所周知MVC不是设计模式,是一个比设计模式更大一点的模式,称作设计模式不合理,应该说MVC它是一种软件开发架构模式,它包含了很多的设计模式,最为密切是以下三种:Observer (观察者模式), Composite(组合模式)和Strategy(策略模式).所以说MVC模式又称复合模式.MVC(Model-View-Controller) 模式的基本思想是数据,显示和处理相分离.模型(Model)负责数据管理,视图(View)负责数据显示,控制器(Controller)负责业务

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

model model这个词在AngularJS中,既可以表示一个(比如,一个叫做phones的model,它的值是一个包含多个phone的数组)对象,也可以表示应用中的整个数据模型,这取决于我们所讨论的AngularJS文档中的上下文. 在AngularJS中,一个模型就是AngularJS作用域对象中的任何一个可取的属性.属性的名字就是模型的标示符.它的值可以是任意的Javascript对象(包括数组和原始对象). 将Javascript对象变成模型的唯一要求是这个对象必须是AngularJ

Android开发 ExpandableListView 列表内容下拉View详解

前言 在需要实现一个List的item需要包含列表的时候,我们就可以选择ExpandableListView. 其实这个View的原始设计还是ListView的那套.就是增加2层的ListView而已.所以在写它的适配器与ListView的适配器挺相似的,所以会有一个通病就是没有Item的View的复用机制请一定要注意这点,在实现使用的时候需要写Item的View的复用,减少内存与增加性能. 一个简单的Demo 老规矩,先来一个最简单的demo来了解下最基本的使用方法.注意!这个demo是没有在

Android进阶之路(1)-详解MVC

最近因为换工作的原因没有写博客,现在慢慢稳定了,我准备写一些关于Android 进阶的文章,也是为了督促自己学习,大家一起进步! 今天详细的分析一下Android APP架构之一:MVC ### MVC简介 >[MVC](https://baike.baidu.com/item/MVC)全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到

C#break ,continue, return区别详解 [转载]

C#编程语法中break ,continue, return这三个常用的关键字的学习对于我们编程开发是十分有用的,那么本文就向你介绍break ,continue, return具体的语法规范. C#编程语法中我们会碰到break ,continue, return这三个常用的关键字,那么关于这三个关键字的使用具体的操作是什么呢?我们在使用这三关键字的时候需要注意和需要理解的规则是什么呢?让我们开始介绍吧: 一.C#编程语法之break语句: break语句会使运行的程序立刻退出包含在最内层的循

Android学习之自定义view详解

本文和大家分享的主要是android自定义view相关内容,一起来看看吧,希望对大家学习android有所帮助. 1.自定义View的属性 在 res/values/ 下建立一个 attrs.xml ,在里面定义属性和声明整个样式. <?xml version="1.0" encoding="utf-8"?> <resources> <attr name="titleText" format="string