什么是在asp.net MVC的@RenderSection

目的是什么,它是如何运作的。我明白捆绑是做什么的,但是我还没有弄清楚它做了什么,它可能很重要。

@RenderSection("scripts", required: false) 

也许是如何使用它的一个小例子?

2 Solutions collect form web for “什么是在asp.net MVC的@RenderSection”

如果你有这样的_Layout.cshtml视图

 <html> <body> @RenderBody() @RenderSection("scripts", required: false) </body> </html> 

那么你可以有一个像这样的index.cshtml内容视图

 @section scripts { <script type="text/javascript">alert('hello');</script> } 

必填项指示使用布局页面的视图是否必须具有脚本部分

如果

(1)你有这样的_Layout.cshtml视图

 <html> <body> @RenderBody() </body> <script type="text/javascript" src="~/lib/layout.js"></script> @RenderSection("scripts", required: false) </html> 

(2)你有Contacts.cshtml

 @section Scripts{ <script type="text/javascript" src="~/lib/contacts.js"></script> } <div class="row"> <div class="col-md-6 col-md-offset-3"> <h2> Contacts</h2> </div> </div> 

(3)你有About.cshtml

 <div class="row"> <div class="col-md-6 col-md-offset-3"> <h2> Contacts</h2> </div> </div> 

在布局页面上,如果需要设置为false“@RenderSection(”scripts“,required:false)”,当页面呈现和用户在页面上时,contacts.js不呈现。

  <html> <body><div>About<div> </body> <script type="text/javascript" src="~/lib/layout.js"></script> </html> 

如果需要设置为true“@RenderSection(”scripts“,required:true)”,当页面呈现和用户在ABOUT页面上时,contacts.js将被呈现。

 <html> <body><div>About<div> </body> <script type="text/javascript" src="~/lib/layout.js"></script> <script type="text/javascript" src="~/lib/contacts.js"></script> </html> 

简而言之,当设置为true时 ,无论您是否在其他页面上都需要它,它将以任何方式呈现。 如果设置为false ,则仅在呈现子页面时才会呈现。

  • 从操作filter属性redirect
  • 单击button时如何redirect用户?
  • 扩展AuthorizeAttribute覆盖AuthorizeCore或OnAuthorization
  • 一起使用承载令牌和cookieauthentication
  • Html.ActionLink作为一个button或图像,而不是一个链接
  • 为什么ASP.NET MVC 4有这么多的NuGet包,哪些是真正重要的?
  • 如何重新创buildentity framework的数据库?
  • JavaScript的string数组的AJAX Post作为List <String>的JsonResult总是返回空?
  • 有没有人为ASP.NET MVC实现RadioButtonListFor <T>?
  • 在asp.net-mvccaching
  • MVC4风格捆绑给予403