(转载)MVC 4.0 PartialView()与View()真的一样吗?
转载自:http://www.cnblogs.com/lori/
当我们使用razor作为页面引擎时,它的视图文件扩展名为cshtml或者vbshtml,而之前作为分部视图的ascx文件,进行razor之后,也是cshtml,这与非razor引擎有些不同,在这方面,官方并没有显式把分部视图与标准视图分开,有时,我们在开发时,可能会出现一些混乱了,今天主要来说一下,如何正确的使用分部视图!
分部视图在action中返回一定要用PartialView(),而不要偷懒使用View(),因为,如果你使用View()渲染视图,系统会认为你是一个标准视图,会为你加个默认的母板页(Layout),除非你显式的设置了Layout这个属性。
aaarticlea/png;base64,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" alt="" width="432" height="46" />
之前的程序代码:
1 public ActionResult PartialLogon()
2 {
3 return View();//会认识它的标准视图,所以会加上默认的Layout
4 }
当返回视图后,你的分部视图会被加上默认的母板页,这不是我们希望看到的,当然有些同学会不先麻烦的在页面上显式的加上Layout=null
事实上,如果你正确的返回分部视图,这行当然是不用加的,呵呵 。
正确的写法:
1 public ActionResult PartialLogon()
2 {
3 return PartialView();//会将页面的Layout自动设为null
4 }
怎么样,这回知道PartialView()与View()真正的区别了吧,呵呵!
我想这后我们把这两个东西换个名称,PartialView()=>渲染视图=>不带Layout
View()=>渲染分部视图=>自动加上Layout
(转载)MVC 4.0 PartialView()与View()真的一样吗?的更多相关文章
- GJM : Taurus.MVC 2.0 开源发布:WebAPI开发教程 [转载]
Taurus.MVC 2.0 开源发布:WebAPI开发教程 转载自http://www.cnblogs.com/cyq1162/p/6069020.html 因是新手 粘贴时有一个版权问题 本文原 ...
- 返璞归真 asp.net mvc (9) - asp.net mvc 3.0 新特性之 View(Razor)
原文:返璞归真 asp.net mvc (9) - asp.net mvc 3.0 新特性之 View(Razor) [索引页][源码下载] 返璞归真 asp.net mvc (9) - asp.ne ...
- asp.net MVC 4.0 View回顾——布局页与分部页
asp.net MVC 4.0中总结 视图里加载部分视图几种方法 @RenderPage() 但它不能使用 原来视图的 Model 和 ViewData ,只能通过参数来传递. @RenderPage ...
- ASP.NET MVC 3.0 Controller基础
ASP.NET MVC 3.0 Controller基础 1.Controller类与方法 Controller(控制器)是ASP.NET MVC的核心,负责处理浏览器请求,并作出响应.Cotro ...
- ASP.NET MVC 4.0的Action Filter
有时候你想在调用action方法之前或者action方法之后处理一些逻辑,为了支持这个,ASP.NET MVC允许你自定义创建action过滤器.Action过滤器是自定义的Attributes,用来 ...
- MVC 4.0 Razor模板引擎 @Html.RenderPartial 与 @Html.RenderAction 区别
近来在学习MVC 4.0,设置布局全局网页的页脚,使用了Razor语法 @{ Html.RenderPartial("Footer", Model.FooterData); } 但 ...
- 返璞归真 asp.net mvc (7) - asp.net mvc 3.0 新特性之 Controller
原文:返璞归真 asp.net mvc (7) - asp.net mvc 3.0 新特性之 Controller [索引页][源码下载] 返璞归真 asp.net mvc (7) - asp.net ...
- [asp.net mvc 奇淫巧技] 04 - 你真的会用Action的模型绑定吗?
在QQ群或者一些程序的交流平台,经常会有人问:我怎么传一个数组在Action中接收.我传的数组为什么Action的model中接收不到.或者我在ajax的data中设置了一些数组,为什么后台还是接收不 ...
- (转)ASP.NET Mvc 2.0 - 1. Areas的创建与执行
转自:http://www.cnblogs.com/terrysun/archive/2010/04/13/1711218.html ASP.NET Mvc 2.0 - 1. Areas的创建与执行 ...
随机推荐
- MyVoix2.0.js 源码分析 WebSpeech与WebAudio篇
楔 子 随着移动互联网时代的开启,各种移动设备走进了我们的生活.无论是日常生活中人手一部的手机,还是夜跑者必备的各种智能腕带,亦或者是充满未来科技感的google glass云云,它们正渐渐改变着我们 ...
- QML控件类关系图
花了点时间整理了下QML控件之间的关系图和QML控件和C++类的对应关系,基于Qt5.6版本 其他版本可能会有差异 图片像素比较大,另存为后放大图片就可以看清楚了 工程下载地址 QMLClassDia ...
- Android Activity整体管理和关闭工具类封装
如何彻底退出程序,在任意位置退出程序,如何管理当前的运行栈,知道activity的堆栈结构等,本文封装了一个Activity管理类,可以方便随时退出程序. /** * 应用程序Activity管理类: ...
- oschina服务器软件
服务器软件 74Apache模块 54Nginx扩展模块 13Radius相关 94PaaS 系统 29服务发现/注册和协调 17Docker 扩展 7Docker 映像 83应用服务器 189HTT ...
- 【转】VirtualBox direct access to SD Card in Windows--不错
原文网址:http://www.sandyscott.net/2013/08/14/virtualbox-direct-drive-access/ I’ve trying to get my Rasp ...
- 计算新浪Weibo消息长度
此文为计算新浪Weibo的消息长度的方法. 就是 (发言请遵守社区公约,还可以输入119字). var getMessageLength = (function() { var byteLength ...
- Redis应用场景 及其数据对象 string hash list set sortedset
原文地址:http://www.cnblogs.com/shanyou/archive/2012/09/04/2670972.html Redis开创了一种新的数据存储思路,使用Redis,我们不用在 ...
- Beanstalkd介绍
特征 优先级:任务 (job) 可以有 0~2^32 个优先级, 0 代表最高优先级,beanstalkd 采用最大最小堆 (Min-max heap) 处理任务优先级排序, 任何时刻调用 reser ...
- 修改cmd的字体
通常打开的cmd默认的字体比较小,字体只有宋体和新宋体两种,如果要修改,需要通过修改注册表才行. 打开regedit后,找到如下路径HKEY_LOCAL_MACHINE\SOFTWARE\Micros ...
- JS 中的引用
首先有一个全局变量 JsonArry={"key":"value"}; 假设这个object为{"你好":"引用"} ...