Estoy tratando de ejecutar un código jquery que se puso en mi _Layout.cshtml de la siguiente manera:

...............
<script type='text/javascript'>
$(document).ready(function () {
   alert('Test');

});
</script>
  @Scripts.Render("~/bundles/jquery")
  @RenderSection("Scripts", required: false) 
</body>
</html>

El código anterior no fue despedido y cuando me inspeccionó con Chrome Dev, mostró $ no está definido ( puedo ver a todos mis jquery, jquery ui los archivos se cargan )

Funcionó si puedo poner este código en un archivo js externo

No me importa poner todo mi código jquery en archivos externos, pero realmente quiero aclarar que estoy haciendo mal.

  • Usted está pidiendo para las funciones de jquery antes de cargar la librería jquery.
  • Idealmente, usted debe representar secuencias de comandos en la parte de encabezado de su diseño, de modo que cualquier jquery en ninguna de sus páginas va a trabajar.
  • Lo ideal sería que todas JavaScript debe ir a archivo separado y luego se habría cargado bien porque sus secuencias de comandos personalizadas están configuradas para procesar en el diseño de la derecha después de jquery.
InformationsquelleAutor davidcoder | 2012-08-29

3 Comentarios

  1. 24

    Necesita introducir jquery antes de la secuencia de comandos.

    @Scripts.Render("~/bundles/jquery")
    
    <script type='text/javascript'>
    $(document).ready(function () {
       alert('Test');
    
    });
    </script>
    
      @RenderSection("Scripts", required: false) 
    </body>
    </html>
    • Gracias, funcionó. Yo solía poner todos mis bibliotecas jquery en la cabecera de la sección, pero de acuerdo a mi investigación recientemente, es una buena práctica para ponerlos antes de cerrar la etiqueta body </body>
    • Estoy confundido. La mayoría de lo que he leído es que siempre se debe poner jQuery script de importación al final para un mejor rendimiento, que es exactamente lo que ASP.NET MVC4 por defecto. Pero nunca he tenido éxito en el uso de jQuery de esta manera, yo siempre la necesidad de importación de jQuery en el inicio del documento en orden para que funcione. Hay algo que me estoy perdiendo?
    • sí (le falta algo), microsoft propios mercados para la gestión de NO a los programadores, por lo tanto, cuando los programadores adaptarse a mediocre implementaciones, el problema se considera resuelto.
  2. 8

    Andreas, tengo el mismo problema.. por defecto, el «_layout.cshtml» ha «@Scripts.Render(«~/bundles/jquery»)» al final del documento, pero no funciona.. me lo corte y lo pegue en la cabeza y ahora se está trabajando.

  3. 7

    Con el fin de jQuery para el trabajo, la secuencia de comandos debe venir después de <script src="/Scripts/jquery-2.0.3.js"></script>

    En el _Layout.cshtml, justo antes de la </body> la etiqueta puede encontrar algo como esto

    @Scripts.Render("~/bundles/jquery")
    @RenderSection("scripts", required: false)

    El primero que tiene la biblioteca jQuery. Entonces usted tiene cualquier secuencia de comandos. Que es lo que esto significa. Así, en su opinión hacer algo como esto.

    @section scripts{
     //your script
    }

    Esto se asegurará de que todos los scripts bajo jQuery referencia.

    • Se me olvidó envoltura de jQuery con @sección de scripts{} en mi .cshtml vista que conduce a la «jQuery no definido» error. Se trata de una simple corrección de un error. Gracias.

Dejar respuesta

Please enter your comment!
Please enter your name here