2012-08-30 16 views
7

Duplicar posible:
ASP.Net MVC 3 Razor: Include js file in Head tagCómo incluir JavaScript en el encabezado de la página MVC4

no quiero poner una gran cantidad de JS en alguna disposición y tengo que hacer para algunas páginas específicas me refiero a incluir algunas de las JS en su encabezado.

Lo he intentado así pero no funciona como debería ser.

@{ 
    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> 

He tratado de esa manera

@{ 
    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> 
} 

y ningún éxito.

¿Cómo puedo archivarlo?

+1

¿No pudiste definir una etiqueta de encabezado y referir a JS en las páginas? – ssilas777

+0

@ ssilas777 ¡Oh! ¿Cómo puedo hacerlo? –

+3

Marque esta pregunta: http://stackoverflow.com/questions/4311783/asp-net-mvc-3-razor-include-js-file-in-head-tag Creo que esto es lo que necesita. – nemesv

Respuesta

12

Estoy seguro que en su _LayoutInner.cshtml que debería haber referido archivos JS de manera similar como esto

<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> 

Para lograr su objetivo al que hay que añadir dos secciones nombradas en sus páginas _LayoutInner.cshtml jefe de sección así-

<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> 

Ahora en sus otras páginas que incluyen páginas de Javascript o CSS adicionales utilizan estas secciones nombradas

@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" /> 
} 

Depende de usted si incluye diferentes secciones con nombre para javascript y css.

Espero que ayude!

+0

Muchas gracias !!!! Una última pregunta: ¿Tengo SECCIONES en algunos archivos externos? –

+2

No, debe usar las secciones de las páginas en las que desea incluir estos archivos JS ... En general, las secciones no se usan solo para incluir archivos externos, sino que se genera contenido dinámico en estas secciones en la respuesta final. En este caso, puede ver archivos javascript y archivos css exactamente en su respuesta final en la sección principal. – ssilas777

Cuestiones relacionadas