¿Dónde debo colocar los archivos de script js en una aplicación mvc para que jquery funcione bien?
_layout.cshtml tiene líneas de código
@Scripts.Render("~/bundles/jquery")
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
por defecto se colocan dentro del<body>
etiquetas por MVC. Pero cuando los dejo en este lugar algunas vecesjquery
No funciona. así que he decidido poner esas tres líneas en el<head>
bosquejar_layout.cshtml
para que la página ponga estilos y archivos de script en el<head>
como lo haría cualquiera conphp
ojsp
. Lo bueno es cuando pongo esos archivos en<head>
toda mijquery
Empecé a trabajar de nuevo. Pero la mayoría de los libros de MVC dice que coloque los guiones en el<body>
bloquear.
Entonces, ¿dónde debo ponerlos?
publicación actualizada:
Aquí está mi archivo de paquete:
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
"~/Scripts/jquery-ui-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
}
Aquí está el archivo de diseño:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
@Styles.Render("~/Content/css")
</head>
<body>
@RenderBody()
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
@Scripts.Render("~/bundles/modernizr")
@RenderSection("scripts", required: false)
</body>
</html>
Aquí está la vista:
@{
ViewBag.Title = "TestPage";
}
<h2>TestPage</h2>
<input type="submit" name="name" value="Click me" id="btn"/>
<div id="d1"></div>
<script type="text/javascript">
$('#btn').click(function(){
alert('clicked');
});
</script>