转载自: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. Coursera获取中文字幕(如果有的话)

    字幕的格式是  https://class.coursera.org/${课程代号}/lecture/subtitles?q=${视频编号}_zh-cn 例如 https://class.course ...

  2. Matlab 矩阵运算

    1.Syms 和sym的区别: syms是定义多个符号是符号变量的意思 sym只能定义一个符号变量,但可以具体到这个符号变量的内容 例:syms f z; %定义下x和y f=sym('a+b+c') ...

  3. CreateLiveCMSV4.0 漏洞,无需后台Get shell

    Title:CreateLiveCMSV4.0 漏洞,无需后台Get shell --2012-03-06 17:28 标题:CreateLive CMS Version 4.0.1006 漏洞,无需 ...

  4. 温习PYTHON语法

    看WEBPY的源码结构有点晕,原来很多语法结构都忘了,继承之些. 再看A BYTE OF PYTHON.慢慢补.. number = 23 guess = int(raw_input('Enter a ...

  5. 51单片机C语言学习笔记7:关于.c文件和.h文件

    1)h文件作用 1 方便开发:包含一些文件需要的共同的常量,结构,类型定义,函数,变量申明: 2 提供接口:对一个软件包来说可以提供一个给外界的接口(例如: stdio.h). 2)h文件里应该有什么 ...

  6. 静态编译Qt5.4.1和Qt WebKit

    图灵社区文章地址:http://www.ituring.com.cn/article/195148WebKit是个好东西,做爬虫.显示网页还是想用HTML来做桌面应用的界面都可以用他,不过一直以来都觉 ...

  7. VS2008 运行VC\Bin下的link.exe, cl.exe, lib.exe提示找不到mspdb80.dll的解决方法

    天在用link.EXE的LIB命令生成用于连接(LINK)使用的lib文件时提示:找不到mspdb80.dll. 原因:Microsoft Visual Studio\VC\Bin\下没有 “msob ...

  8. BZOJ3300: [USACO2011 Feb]Best Parenthesis

    3300: [USACO2011 Feb]Best Parenthesis Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 89  Solved: 42 ...

  9. HTTP数据包头解析---之温故而知新!

    [转]HTTP请求模型和头信息参考 参考: http://blog.csdn.net/baggio785/archive/2006/04/13/661410.aspx模型: http://blog.c ...

  10. MSSQL 生成有意义的PROC

    MSSQL 生成有意义的PROC --MSSQL  用PROC 生成有意义的单号:如WP200011101 GO/****** 对象:  Table [dbo].[tbl_SequenceNum]   ...