ASP.NET MVC 3 Razor: JavaScript dosyasını başlık etiketine ekle


230

_Layout.cshtml içinde tanımlanan diğer tüm dosyaları ile birlikte baş etiketinde olmak için belirli bir * .cshtml bir JavaScript dosyası almak için uygun Razor sözdizimi anlamaya çalışıyorum.


7
Ayrıca js'yi baş bölümü yerine sayfanın altına koymayı da düşünmelisiniz.
Mattias Jakobsson

Örnek kodla bulduğum tek sorun, "JavaScript" bölümünün tırnak içine alınmasına gerek olmamasıdır.
Stephen Patten

2
Bir şey daha var: Bu bir JavaScript etiketi ise, kullanım konusunda dikkatli olun, bunun doğru çalışması için komut dosyası öğesinin END Etiketini kullanmam gerekiyordu. <script type = "text / javascript" src = "@ Url.Content (" ~ / Scripts / RDA.js ")"> </script>;
Stephen Patten

@Mattias Jakobsson - Her zaman değil. Bu belirli bir duruma bağlıdır.
Dimskiy

@Dimskiy bir kelime ayrıştırıcı ve bilgiç olmamı sağlayacaksanız, gerçekten oraya yerleştirip yerleştirmediğinize bakacak olursanız, js'i her zaman dibe koymalısınız.
MrBoJangles

Yanıtlar:


398

Adlandırılmış Bölümler'i kullanabilirsiniz .

_Layout.cshtml

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

_SomeView.cshtml

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

1
Evet, WebPageBase'e bakıyordum ve bunun cevap olabileceğini tahmin etmiştim, ancak doğru sözdizimini tam olarak bilmiyordum. MVC 3 için bir referans kılavuzu tavsiye edebilir misiniz? Saygılarımızla ..
Stephen Patten

8
Ha! Hem MVC 3 hem de Razor sözdizimi için bir referans kılavuzu olmasını isterdim. Yukarıdakileri Gu'nun blogundan aldım. MVC 3 için en iyi referans muhtemelen sürüm notlarıdır.
RPM1984

Oh ve iyi ipucu etiketi için yakın etiket wrt <script>- bilmiyordum (henüz JS ile adlandırılmış bölümleri denemedim). şimdi ben (ve diğerleri) bilecek
RPM1984

4
Bilginize: Javascript </body>, başlık etiketinin yerine etiketten hemen önce oluşturulmalıdır . Bu, tarayıcı tarafından paralel indirmeleri engellemeyecek şekildedir. Bkz developer.yahoo.com/performance/rules.html
Peter

4
@Peter - evet, biliyorum - ama ben sadece cevap adresleme (baş etiketi JS).
RPM1984
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.