2012-08-30 10 views
7

Mögliche Duplizieren enthalten:
ASP.Net MVC 3 Razor: Include js file in Head tagWie JavaScript in den Seitenkopf MVC4

Ich will nicht eine viel JS in eine Layout setzen und ich tun muss Für einige spezifische Seiten möchte ich einige der JS in ihren Header aufnehmen.

Ich habe so versucht, aber es funktioniert nicht wie es sein sollte.

@{ 
    Layout = "~/Views/Shared/_LayoutInner.cshtml"; 
    @Scripts.Render("~/Scripts/farbtastic/farbtastic.js") 
    @Styles.Render("~/Scripts/farbtastic/farbtastic.css") 
    @Scripts.Render("~/Scripts/jquery.tinycarousel.min.js") 
    @Scripts.Render("~/Scripts/jquery-ui-1.8.11.min.js") 
} 
<script type="text/javascript" charset="utf-8"> 
    $(document).ready(function() { 
     $('#slider1').tinycarousel(); 
     $("#accordion").accordion(); 
     $('#picker').farbtastic('#color'); 
    }); 
</script> 

Ich habe wie dieser versucht

@{ 
    Layout = "~/Views/Shared/_LayoutInner.cshtml"; 
    <script type="text/javascript" src="@Url.Content("~/Scripts/farbtastic/farbtastic.js")"></script> 
<link href="@Url.Content("~/Scripts/farbtastic/farbtastic.css")" rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.tinycarousel.min.js")"></script> 
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")"></script> 
} 

und ohne überhaupt Erfolg.

Wie kann ich es archivieren?

+1

Konntest du kein Kopf-Tag definieren und JS in Seiten verweisen? – ssilas777

+0

@ ssilas777 Oh! Wie kann ich es tun? –

+3

Überprüfen Sie diese Frage: http://stackoverflow.com/questions/4311783/asp-net-mvc-3-razor-include-js-file-in-head-tag Ich denke, das ist, was Sie brauchen. – nemesv

Antwort

12

Ich bin sicher, dass in Ihrem _LayoutInner.cshtml Sie Dateien JS refered sollte ähnlich wie diese

<head> 
<link href="@Url.Content("~/Scripts/farbtastic/farbtastic.css")" rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")"></script> 
</head> 

Ihr Ziel erreichen Sie zwei benannte Abschnitte in Ihre _LayoutInner.cshtml Seiten hinzufügen haben Kopfteil wie this-

<head> 
<link href="@Url.Content("~/Scripts/farbtastic/farbtastic.css")" rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")"></script> 
@RenderSection("JavaScript", required: false) 
@RenderSection("CSS", required: false) 
</head> 

Jetzt in Ihren anderen Seiten sind unter anderem zusätzliche Javascript oder CSS-Seiten verwenden diese benannten Abschnitte

@section JavaScript 
{ 
    <script type="text/javascript"src="@Url.Content("~/Scripts/farbtastic/farbtastic.js")"></script> 
    <script type="text/javascript" src="@Url.Content("~/Scripts/jquery.tinycarousel.min.js")"></script> 
} 

@section CSS 
{ 
    <link href="@Url.Content("~/Scripts/farbtastic/farbtastic.css")" rel="stylesheet" type="text/css" /> 
} 

Es ist Ihnen überlassen, ob Sie verschiedene benannte Bereiche für Javascript und CSS angeben.

Hoffe es hilft!

+0

Vielen Dank !!!! Eine letzte Frage: Habe ich Sektionen in einigen externen Dateien? –

+2

Nein, Sie müssen Abschnitte in Seiten verwenden, die diese JS-Dateien enthalten sollen. Im Allgemeinen werden die Abschnitte nicht nur zum Einbinden externer Dateien verwendet, sondern zur Ausgabe dynamischer Inhalte in diesen Abschnitten in der endgültigen Antwort kann JavaScript-Dateien und CSS-Dateien genau in Ihrer endgültigen Antwort im Kopfbereich sehen. – ssilas777

Verwandte Themen