MVC視圖中,Javascripts代碼被放於下面的Razor代碼中(@section Scripts{})。
(說白了,在Razor視圖中若要使用<script></script>,則必須要要@section scripts{}括起來)
好處:在視圖進行JavaScript編程時,是一個很好的實踐,在共享視圖(_Layout.cshtml),存在節點(@RenderSection("scripts", required: false)),在視圖執行時,Razor引擎會將Javascripts代碼抽調出來,然后在執行的時候,再將這些代碼放置在這個地方。
控制器下的代碼如下:
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>