2016-06-01 49 views
0

我正在向Javascript添加JavaScript文件到網站,並認識到腳本,但當我試圖將驗證腳本移動到site.js.Asp.net核心MVC處理驗證腳本作爲一個單獨的文件

Site.js出現上述被添加到頁面的驗證腳本使用

@{await Html.RenderPartialAsync("_ValidationScriptsPartial");} 

而不是具有與所頁面上的頁面的驗證腳本(或這是大多數人如何做到這一點)如何添加say添加一個validation.js頁面等,我可能會在上面的條目下面添加..進一步,

如果我添加另一個頁面如何將它縮小(將其添加到GULP)並將其添加到生產中分期環境。

回答

1

推薦結束了,你應該把驗證腳本渲染成節,如:

@section Scripts { 
    @{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); } 
} 

,然後在車身的底部,是指它在_Layout.cshtml:

@RenderSection("scripts", required: false) 

然後,你就可以驗證你的表單,這些JS文件只會出現在你提到的那個視圖中。

如果我做添加其他網頁我怎麼再壓縮它(添加它吞掉),並在生產暫存環境添加它以及..

您將有一次運行如下的JS文件爲所有的意見(頁),他們將工作。

+0

我已經在我的頁面底部有這個了。在這種情況下,我指的是自定義驗證腳本,用於驗證澳大利亞ATO號碼的自定義腳本。它目前在使用它的頁面的底部,但我認爲它應該在它自己的文件中。它在這些情況下,我問我在哪裏把這個自定義驗證腳本..抱歉的問題並不清楚。 – si2030

+0

如果它位於驗證部分中,請修改該部分中渲染文件的順序,並檢查瀏覽器的開發人員工具是否錯過了哪些文件使驗證失敗。把它們放在另一個文件中也是一個選項。但建議將它們放在同一部分。 –

0

理想情況下,您希望所有腳本都可以加載到頁面的末尾,因爲腳本可以阻止頁面的呈現,並使用戶看起來較慢。我們實現這一目標的方式是在佈局文件中使用部分。

在你的佈局文件,你可以添加以下代碼:

@rendersection("scripts", required: false) 

然後在你的觀點,你可以添加自己需要的任何特定的腳本:

@section scripts { 
    @Scripts.Render("~/Scripts/Validation.js") 
} 

斯科特谷具有良好的blog post這將更深入地解釋部分

至於縮小你有沒有看過使用內置捆綁和縮小工具現在mvc?這裏有另一個,這次由Rick Anderson解釋,但基本上你可以定義不同的bundle,它們可以被設置爲自動捆綁和縮小腳本。定義一個包是簡單的:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
      "~/Scripts/jquery-{version}.js")); 

而且他們outputing到你的頁面是一樣的,所不同的,而不是鏈接到您的源文件,你用你定義的捆綁鏈路。因此,輸出上述內容將如下完成:

@Scripts.Render("~/bundles/jquery")