asp.net – @RenderSection在嵌套剃刀模板
发布时间:2020-12-15 19:10:28 所属栏目:asp.Net 来源:网络整理
导读:我的问题是我不能使用@RenderSection从嵌套模板当@RenderSection在基本模板中定义。目前,我有一个嵌套基本模板,它链接到一个子模板,然后在视图页面中使用。当我在基本模板中定义@RenderSection并在视图页面中渲染它时会抛出一个错误。 这是确切的问题。
我的问题是我不能使用@RenderSection从嵌套模板当@RenderSection在基本模板中定义。目前,我有一个嵌套基本模板,它链接到一个子模板,然后在视图页面中使用。当我在基本模板中定义@RenderSection并在视图页面中渲染它时会抛出一个错误。
这是确切的问题。 我想创建一个RenderSection允许我插入自定义脚本。 <!DOCTYPE html> <html> <head> <title>@ViewBag.Title</title> @RenderSection("HeaderContent",false) // The region of the header scripts (custom css) </head> <body> @RenderBody() </body> </html> 然后我跳过子模板,因为我不想把任何自定义头部代码在那里,并应用到页面本身。 @section HeaderContent { <script>alert("hi");</script> } 我的问题是,我似乎不能添加自定义头部代码到基本模板从我的正常页面。 以下部分已定义,但尚未呈现布局页?/ Views / Shared / OneColLayer.cshtml“:”HeaderContent。 我需要在视图页面中包括一个指向基本模板的指针吗? @{ Layout = "~/Views/Shared/BaseTemplate.cshtml"; } 我的新基本模板 <head> <link rel="stylesheet" type="text/css" href="@Url.Content("~/content/layout.css")" /> <link rel="stylesheet" type="text/css" href="@Url.Content("~/content/global.css")" /> <script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")"></script> <script type="text/javascript" src="@Url.Content("~/js/fadeInFadeOut.js")"></script> <title>@ViewBag.Title</title> @RenderSection("HeaderContent",false) </head> <body> @RenderBody() </body> 我的新子模板 @{ Layout = "~/Views/Shared/BaseTemplate.cshtml"; } @RenderSection("HeaderContent",false) @RenderBody() 我的看法 @{ ViewBag.Title = "Home"; Layout = "~/Views/Shared/OneColLayer.cshtml"; } @section HeaderContent { <h1>Left Content</h1> } <div>my view content</div> 内容被放置在oneCol模板现在的基本模板中。 结果… <div id="Content"> <h1>Left Content</h1> </div> 解决方法
您需要指定允许在中间模板中传递的部分。
BaseTemplate.cshtml <!DOCTYPE html> <html> <head> <title>@ViewBag.Title</title> @RenderSection("HeaderContent",false) @* The region of the header scripts (custom css) *@ </head> <body> @RenderBody() </body> </html> 编辑 您的新子模板 @{ Layout = "~/Views/Shared/BaseTemplate.cshtml"; } @section HeaderContent { @RenderSection("HeaderContent",false) } @RenderBody() 如果将render部分放在基本模板的某个部分内部,它将在基本模板上将该部分呈现在正确的位置。 View.cshtml – >使用MiddleLayout.cshtml作为它的布局 @section HeaderContent { <!-- header content that will now render --> } <!-- page content --> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何关闭ASP.NET必需的字段验证器“丢失焦点”行为
- .NET中的FileUpload控件的使用-Jquery(一)
- .net – 有人有一个例子,说明为什么我会主持一个WCF服务
- asp.net – HttpCookie.Expire时区含义?
- asp.net-mvc – 如何在ASP.NET Web API中获取IpAddress和Us
- asp.net – 如何在SSRS公式字段中按两个日期计算天数
- asp.net编程实现删除文件夹及文件夹下文件的方法
- asp.net-mvc – 未提供所需的防伪标记或无效 – 仅限Safari
- asp.net – 实体框架:Singletonish ObjectContext – Good
- asp.net – 用于错误处理和丢失图像的HttpModule
推荐文章
站长推荐
热点阅读