2014-09-08 58 views
7

Şu an jQuery kaynak dosyasını ASP.NET projenizin Scripts klasörüne ekledim. _Layout.cshtml sayfasında ~/Scripts/jquery-2.1.1.min.js dosyasını ekledim.Bir ASP.NET MVC 5 sayfasına özel Javascript eklemek için doğru bir yol var mı?

If this page shows a popup I was succesfull. 

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

Ancak, ben her görünümde tam bir komut dosyası dahil etmek istemiyoruz: Şu anda, ben bu şekilde yapmak her sayfada jQuery kodu içerebilir. Ayrı bir JS dosyası oluşturmayı, Scripts klasörüme koymayı ve ardından Razor'u kullanmayı tercih ederim.

@{ 
    //Razor Magic inserting Javascript method! 
} 

If this page shows a popup I was succesfull. 

Bunu nasıl yaparım? Ve tek bir sayfa için benzersiz bir Javascript dosyası eklemek için "doğru" bir yol mu?

+1

Sadece ' sayılabilir. –

+0

JS kodunuzu kolayca ayıklamak isterseniz, yine de ayrı bir js dosyasında olması gerekir (hata ayıklayıcı yalnızca * mvc kodu * veya görünümlerde * JS kodu kırmanızı sağlar). JS'yi, çalışma zamanında çözümün üstünde görünen dinamik içeriğe ayırabilirsiniz, ancak bu sıkıcıdır. Ayrıca, JS'nin tarayıcısını önbelleğe alma ve otomatik olarak küçültme işleminden en iyi şekilde yararlandığından, paketlemenin en iyi yolu da (aşağıda belirtildiği gibi) olmasıdır. –

cevap

4

MVC'deki sorununuzu çözmenin en iyi ve zarif yolu, BundlesBundling and Minification olarak bilinmektedir.

burada daha fazla bakınız: - http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification

+0

Teşekkürler, bu ilginç görünüyor. Şimdi bu işi MVC5'te nasıl yapacağımı anlamaya ihtiyacım var. Görünüşe göre, bu işlevselliği eklemek için nuget kullanmalıyım. – ohyeah

+0

@Bas ... welcome..bundling mvc4 ve mvc5 için aynıdır ve hiçbir fark yoktur ve bu yararlı bağlantıyı da ziyaret edin http://www.dotnet-tricks.com/Tutorial/mvc/c72b040113-Asp.net- MVC-4-performans optimizasyonu-ile-donatılacak-ve-minification.html –

16

ayrı bir JS dosyasına sayfanızı belirli JS kodu koyabilirsiniz ve Kanunun aşağıdaki parçası kullanarak belirli Views başvurabilir:

1) gerek (_ABCDView.cshtml)

0 - size JS dosyasını başvurmak istediğiniz Görünüm @section eklemem gerekiyor

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

2) sizin _Layout.cshtml bu bölümü koymak

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

NOT: false @RenderSection, bölüm, bu ana sayfayı kullanan bir görünümde gerekli olmadığı anlamına gelir, ve görünümü motoru tanımlanmış "JavaScript" bölümü olduğu gerçeğini göz ardı eder senin açından. Doğruysa, görünüm oluşturulmaz ve "JavaScript" bölümü tanımlanmadıkça bir hata atılır.

Ve gitmeye hazırsınız!

Bu yardımcı olur umarım.

sayesinde Swati

İlgili konular