转载自: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()真的一样吗?的更多相关文章

  1. GJM : Taurus.MVC 2.0 开源发布:WebAPI开发教程 [转载]

    Taurus.MVC 2.0 开源发布:WebAPI开发教程 转载自http://www.cnblogs.com/cyq1162/p/6069020.html 因是新手  粘贴时有一个版权问题 本文原 ...

  2. 返璞归真 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 ...

  3. asp.net MVC 4.0 View回顾——布局页与分部页

    asp.net MVC 4.0中总结 视图里加载部分视图几种方法 @RenderPage() 但它不能使用 原来视图的 Model 和 ViewData ,只能通过参数来传递. @RenderPage ...

  4. ASP.NET MVC 3.0 Controller基础

    ASP.NET MVC 3.0 Controller基础   1.Controller类与方法 Controller(控制器)是ASP.NET MVC的核心,负责处理浏览器请求,并作出响应.Cotro ...

  5. ASP.NET MVC 4.0的Action Filter

    有时候你想在调用action方法之前或者action方法之后处理一些逻辑,为了支持这个,ASP.NET MVC允许你自定义创建action过滤器.Action过滤器是自定义的Attributes,用来 ...

  6. MVC 4.0 Razor模板引擎 @Html.RenderPartial 与 @Html.RenderAction 区别

    近来在学习MVC 4.0,设置布局全局网页的页脚,使用了Razor语法 @{ Html.RenderPartial("Footer", Model.FooterData); } 但 ...

  7. 返璞归真 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 ...

  8. [asp.net mvc 奇淫巧技] 04 - 你真的会用Action的模型绑定吗?

    在QQ群或者一些程序的交流平台,经常会有人问:我怎么传一个数组在Action中接收.我传的数组为什么Action的model中接收不到.或者我在ajax的data中设置了一些数组,为什么后台还是接收不 ...

  9. (转)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的创建与执行 ...

随机推荐

  1. MarkdownPad 使用 MathJax

    一直想要在MarkdownPad中支持数学公式,终于找到了一个方法: 在MarkdownPad中,点击"Tools > Options > Advanced > HTML ...

  2. c++学习笔记和思考

    1.内置类型:int float等编程语言自己定义的类型 类类型:自己声明的类,即是对对象的抽象 2.const double *cp 表示cp是指向一个const类型double类型数据的指针,而非 ...

  3. Web前端开发

    由于互联网的各种兴起,网页开发似乎也火了,催生了github上各种js的轮子,各种重复,各种框架和库,什么Jquery,bootstrap等等.面对这么多框架和库我们在工程上该如何取舍(trade-o ...

  4. 【HDOJ】3316 Mine sweeping

    简单BFS. #include <iostream> #include <cstdio> #include <cstring> #include <cstdl ...

  5. Android 应用框架 —— 组件

    本文内容根据个人自学整理记录,理解不当之处,希望大家批评指正,大家相互学习,写学习归纳,写博客是个好习惯,希望能够坚持下去. 在前一篇文章当中介绍了Android 的系统框架,主要是为了让大家对And ...

  6. android 各种xml的作用

    1.arrays.xml     定义数组 <resources> <string-array name="proxy_types"> <item&g ...

  7. 深度分析Linux下双网卡绑定七种模式

    现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操 ...

  8. 汉得第二次考核答案整理(通信,IO,文件等)

    1, (8 分 ) 使用程序从网上下载 pdf, 网址为http://files.saas.hand-china.com/java/target.pdf,保存在本地,编程时使用带缓冲的读写,将需要保证 ...

  9. for 的多重循环--java

    for的多重循环--java 利用for的多重循环打印出四种不同的三角形的图案. 图案如下: 4种不同三角形图案打印如下------------------******---------------- ...

  10. Javascript:getElementsByClassName

    背景: 由于原生的getElementsByClassName不支持在指定标签中查找指定元素为指定class的情况,所以,这里舍弃了原生的方法调用   方法一: function getElement ...