(转载)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的创建与执行 ...
随机推荐
- c++中构造函数 、析构函数的作用域详解
我们知道,在c++中,析构函数是在函数作用域尾部执行析构函数,从而释放对象,但是有一种情况下,析构函数作用域发生变化,请看下面的例子,定义了一个Stock类,Stock类存放在stock.h中,主调用 ...
- findstr 只搜寻指定文件类型
Title:findstr 只搜寻指定文件类型 --2012-05-04 09:27 findstr /i /m /S /C:"关键字" *.php *.asp *.jsp
- win8 开启administrator 管理员帐户
进入命令提示符以后,输入命令:[net user administrator /active:yes]然后注销,就可以使用administrator登录.. 如果想要取消administrator激活 ...
- 关于标准C语言的预定义宏
标准C语言预处理要求定义某些对象宏,每个预定义宏的名称一两个下划线字符开头和结尾,这些预定义宏不能被取消定义(#undef)或由编程人员重新定义.下面预定义宏表,被我抄了下来.__LINE__ 当前 ...
- Android AlertDialog全屏显示去除白色边框
使用styles.xml风格: Style.xml代码 <style name="FullScreenDialog" parent="android:style/T ...
- ASCII码表(0 - 255)
目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准 ...
- 解决 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
"Accept-Encoding": "gzip, deflate", 这条信息代表本地可以接收压缩格式的数据,而服务器在处理时就将大文件压缩再发回客户端,IE ...
- Django 内置分页--Paginator类
官方文档 http://python.usyiyi.cn/django/topics/pagination.html 前端方法 http://www.tuicool.com/articles/RniU ...
- 由fprintf和printf看C语言三种标准流
一.C语言中的三种标准流 1.标准输入流:stdin 2.标准输出流:stdout 3.标准错误输出流:stderr 他们的类型都是File * 二.fprintf于printf的区别 frintf( ...
- ios8中百度推送接收不到
ios8中百度推送接收类型会有所改变: //消息推送注冊 if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { ...