@section script{}的使用

1,MVC视图中,JS代码被放在下面的Razor代码中(@section script{})

2,这样做的好处是:在视图进行JS编码时是一个很好 的实践,在共享视图(_layout.cshtml),存在节点(@RenderSection("script",required:false)),在视图执行时,Razor引擎会将JS代码抽调出来,然后在执行的时候将代码放置在这个位置。

3,例如:控制器代码如下:

  The name is <span data-bind="text: Name"></span>
  @section Scripts{
      <script>
          function ViewModel() {
              this.Name = "";
          }

          var viewModel = new ViewModel();
          ko.applyBindings(viewModel);
      </script>
  }

布局视图_layout.cshtml代码如下:

  <body>
      <div class="container body-content">
          @RenderBody()
      </div>
      @Scripts.Render("~/bundles/jquery")
      @Scripts.Render("~/bundles/bootstrap")
      <script src="~/Scripts/knockout-3.4.0.js"></script>
      @RenderSection("scripts", required: false)
  </body>
  </html>

此时运行会将控制器对应的页面代码放在@RenderBody()处,

猜你喜欢

转载自www.cnblogs.com/baojiao/p/8856225.html