ASP.NET MVC使用RenderSection渲染节点

几天没有时间做ASP.NET mvc练习,忙于ERP的二次开发。忙里间,想起MVC还有很多基础的知识需要撑握与了解。记得以前有练习过《MVC母版页_Layout.cshtml》 http://www.cnblogs.com/insus/p/3380419.html 渲染Body(RenderBody)的功能。今天练习一下RenderSection渲染节点吧。

在Views\Shared目录下,创建一个Layout Page:

取个名字为_LayoutPage1.cshtml:

第#13行代码:

@RenderSection("myName", required: false) 

名称为"MyName",第二个参数设为false。这样的话,在视图中有定义MyName节点,它就会显示,反之不显示。

创建一个控制器Default1Controller.cs:

控制器一旦创建成功,在MVC5或以后版本中,自动在Views目录下,以控制器名创建相应的目录。下面新建一个视图:

浏览结果:

如果我们在_LayoutPage1.cshtml中,把#13行代码的参数,设为true:

@RenderSection("myName", required: true)

那说明,我们只要引用这个Layout page的视图,均要定义:

@section myName{
    @*节点代码*@
}

如果没有定义,视图在运行时,它会显示一个异常:

其实,我们有另外一个方法,是在Layout page中去判断:

这样个修改之后,所有引用这个Layout page的视图,不管是否有定义下面代码:

@section myName{
    @*节点代码*@
}

均不会发生异常。

ASP.NET MVC使用RenderSection渲染节点

时间: 2024-12-20 16:25:13

ASP.NET MVC使用RenderSection渲染节点的相关文章

[转]Asp.Net MVC使用HtmlHelper渲染,并传递FormCollection参数的陷阱

http://www.cnblogs.com/errorif/archive/2012/02/13/2349902.html 在Asp.Net MVC 1.0编程中,我们经常遇见这样的场景,在新建一个对象时候,通过HtmlHelper的方式在View模型中渲染Html控件,当填写完相关内容后,通过Form把需要新建的内容Post回View对应Controller的Action(例如:Create),指定的Action可以通过接受FormCollection参数.值参数或者某个类的实例参数(比如:

使用asp.net mvc部分视图渲染html

为了提升用户体验,一般我们采用ajax加载数据然后根据数据渲染html,渲染html可以使用前端渲染和服务器端渲染. 前端渲染 使用前端模版引擎或MVC框架,例如underscore.js的template或者是使用angular.js等框架,当然也可以不用任何框架自己拼接html. <!DOCTYPE html> <html> <head> <title>underscore.js的template渲染html</title> </hea

ASP.NET MVC 的一个配置节点

环境: IIS 7.5,IIS 集成模式, VS 2012,Chrome.    用VS新建一个MVC4项目时,会在根目录下的web.config和view 目录下的web.config文件里自动添加<add key="webpages:Enabled" value="false" />这样一个节点.    这表示什么意思,从字面上很难看出来.于是google了一把.大概意思是说禁止你直接访问view目录下面的.cshtml和.vbhtml这样的文件(比

ASP.NET MVC使用动态产生meta

在ASP.NET中,我们是很容易动态为header节点添加meta信息.<动态修改网页Header属性,Title,Meta标签等>http://www.cnblogs.com/insus/archive/2011/03/21/1990274.html和<Insus Meta Utility V2>http://www.cnblogs.com/insus/archive/2011/04/21/2023258.html 那在ASP.NET MVC中,怎样能动态为header添加met

ASP.NET没有魔法——ASP.NET MVC Razor与View渲染

对于Web应用来说,它的界面是由浏览器根据HTML代码及其引用的相关资源进行渲染后展示给用户的结果,换句话说Web应用的界面呈现工作是由浏览器完成的,Web应用的原理是通过Http协议从服务器上获取到对应的Html代码以及相关资源,使得浏览器能够完成正确的呈现工作. ASP.NET MVC作为一个Web应用构建框架View承担了UI显示的功能,在开发过程中View以Action的名称命名,当用户的请求被路由到某一Action方法时,ASP.NET MVC将会根据Action的名称来获取到对应的V

asp.net mvc 使用ajax请求 控制器 (PartialViewResult)分部的action,得到一个分部视图(PartialView)的HTML,进行渲染

在asp.net mvc 使用ajax请求获取数据的时候,我们一般是返回json或者xml,然后解析这些数据进行渲染,这样会比较麻烦,可以请求一个 分部action,返回一个分部视图 直接可以渲染,不需要解析这一步. 下面是示例: 控制器类: public class HomeController : Controller { // // GET: /Home/ public ActionResult Index() { return View(); } [HttpPost] public Pa

ASP.Net MVC View

ASP.Net MVC View(视图) View视图职责是向用户提供界面.负责根据提供的模型数据,生成准备提供给用户的格式界面. 支持多种视图引擎(Razor和ASPX视图引擎是官方默认给出的,其实还支持其它N种视图引擎,甚至你自己都可以写一套视图引擎) View和Action之间数据传递(前后台数据传递) 弱类型 ViewData[""] 动态型 ViewBag //dynamic 动态类型Model             后台:return View(data); //存入 V

ASP.NET MVC 4 (十一) Bundles和显示模式

Bundles用于打包CSS和javascript脚本文件,优化对它们的组织管理.显示模式则允许我们为不同的设备显示不同的视图. 默认脚本库 在VS创建一个MVC工程,VS会为我们在scripts目录下添加很多脚本库,下面来简单了解下这些脚本库的作用: 脚本文件 说明 jquery-1.7.1.js jquery的基本类库 jquery-ui-1.8.20.js jquery的UI类库,方便我们创建丰富的用户控件,基于jquery基本类库 jquery.mobile-1.1.0.js 用于移动设

ASP.NET MVC 4 (五) 视图

视图引擎与视图 多数情况下控制器action方法返回ViewResult对象,MVC内建action调用器ControllerActionInvoker负责调用控制器action方法并调用视图引擎处理ViewResut,由视图引擎将ViewResult转化为ViewEngineResult对象,ViewEngineResult对象内含实现IView接口的视图对象,最终MVC框架调用视图对象的Render的方法渲染输出结果.下面还是以例子来演示这个过程,先来看看相关接口和类的定义与实现: publ