簡體   English   中英

有沒有正確的方法將自定義Javascript添加到ASP.NET MVC 5頁面?

[英]Is there a correct way to add custom Javascript to an ASP.NET MVC 5 page?

目前,我已將jQuery源文件添加到我的ASP.NET項目的Scripts文件夾中。 在_Layout.cshtml頁面中,我包含了〜/ Scripts / jquery-2.1.1.min.js。 現在,我可以在每個頁面上包含jQuery代碼:

If this page shows a popup I was succesfull.

<script>
$(document).ready(function(){
alert("works!");
});
</script>

但是,我不想在每個視圖中都包含完整的腳本。 我更喜歡創建一個單獨的JS文件,將它放在我的Scripts文件夾中,然后使用Razor包含它。

@{ 
    //Razor Magic inserting Javascript method!
 }

If this page shows a popup I was succesfull.

我該怎么做呢? 是否是為單個頁面包含唯一Javascript文件的“正確”方法?

您可以將特定於頁面的JS代碼放在單獨的JS文件中,並使用以下代碼引用您的特定視圖:

1)您需要將此部分放在_Layout.cshtml中

<head>
    <script type="text/javascript" src="@Url.Content("~/Scripts/jquery-2.1.1.min.js)">
    @RenderSection("JavaScript", required: false)
</head>

2)您需要將@section添加到要在其中引用JS文件的視圖中 - (_ABCDView.cshtml)

@section JavaScript
{
   <script type="text/javascript" src="@Url.Content("/Scripts/SampleScript2.js")"></script>

}

注意: @ RenderSection,false,表示在使用此母版頁的視圖上不需要該部分,並且視圖引擎將忽略視圖中未定義“JavaScript”部分的事實。 如果為true,則視圖將不會呈現,並且除非已定義“JavaScript”部分,否則將引發錯誤。

你很高興去!

希望這會幫助你。

謝謝,斯瓦蒂

在MVC中解決問題的最佳和最好的方法是將Bundles稱為Bundling and Minification

在這里查看更多: - http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM