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.由于许多数据要很久才会变一次.两次连续的数据库访问通常返回的数据是一样 ...
随机推荐
- STL关联式容器之set和multiset
一,set和multiset的基础知识 1.set和multiset的基础 set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按照一定的顺序排列,元素插入过程是按照排序规则插入的.所以不能指 ...
- java中判断字符串中是否有中文字符
package com.meritit.test; public class TestChart { public static void main(String[] args) throws Exc ...
- delphi 颜色,字体保存到INI文件
颜色转换成整型保存{也可以用ColorToString / stringTOColor}字体用下面的函数转换成字符串,然后保存 unit xFonts; interface uses Classes ...
- OpenCV dll 源码调试—附加到进程
使用CMake可以生成OpenCV源码的解决方案,然后就可以对OpenCV函数进行修改,功能剪切等操作了,对这部分内容感兴趣的可以浏览一下上一篇文章:CMake生成OpenCV解决方案&&am ...
- HTC VIVE 虚拟现实眼镜VR游戏体验
HTC的VIVE入手一段时间了,体验了几个免费的VR游戏,效果还不错,分享一下. 1. VIVE主要部件 VIVE的主要部件有3个,分别是头盔,两个无线控制手柄和两个定位器. 1.1 头盔 头盔整体照 ...
- lua转换etcd应答
local function decodeNodes(nodes) local table = {} for _, value in ipairs(nodes) do if value.nodes t ...
- PHP采集类:Snoopy.class.php
Snoopy是一个php采集类,用来模拟浏览器获取网页内容和发送表单. 下面是一些Snoopy特性: 容易抓取网页内容 容易抓取页面文本(去除HTML标签) 容易抓取网页内链接 支持代理抓取 支持基本 ...
- 超平面(hyperplane)的定义
Hyperplane - Wikipedia Hyperplane – from Wolfram MathWorld a1,a2,-,an 为一组不全为 0 的纯量,如下定义的集合 S 由这样的向量构 ...
- BSD介绍
BSD许可证模板 * Copyright (c) 1998, Regents of the University of California * All rights reserved. * ...
- NS2网络模拟(2)-丢包率
1: #NS2_有线部分\LossRate.awk 2: 3: BEGIN { 4: #Initialize the variable 5: Lost = 0; #the Sum of Lost pa ...