none
Uncaught ReferenceError: jQuery is not defined error en mvc 5 con c# RRS feed

  • Pregunta

  • Hola buenas noches me pordiran apoyar con este error

    cree un ejercicio en MVC 5 con c# esa es la vista index usa system.web.optimization, y agrego los scripts de bundles

    @model MVC_Parte_5.Models.DatosEmail
    @using System.Web.Optimization
    
    @{
    	Layout = null;
    }
    
    <!DOCTYPE html>
    
    <html>
    <head>
    	<meta name="viewport" content="width=device-width" />
    	<title>Index</title>
    	@Scripts.Render("~/bundles/jquery")
    	@Scripts.Render("~/bundles/jqueryval")
    	@Scripts.Render("~/bundles/jqueryvalunobtrusive")
    </head>
    <body>
    	<div>
    		<h3>Ingrese los datos index</h3>
    		@using (Html.BeginForm("DatosPersonales", "Home", FormMethod.Post))
    		{
    			@Html.ValidationSummary(true, "", new { @class = "tavo" })
    			
    			<div>
    				<div>
    					@Html.LabelFor(m => m.Email, new { @class = "control-label" })
    					@Html.TextBoxFor(m => m.Email, "", new { @class = "form-control" })
    					@Html.ValidationMessageFor(m => m.Email, "", new { @class = "text-danger" })
    				</div>
    				<div>
    					@Html.LabelFor(m => m.Password, new { @class = "control-label" })
    					@Html.TextBoxFor(m => m.Password, "", new { @class = "form-control" })
    					@Html.ValidationMessageFor(m => m.Password, "", new { @class = "text-danger" })
    				</div><br />
    				<div>
    					@Html.LabelFor(m => m.ConfirmPassword, new { @class = "control-label" })
    					@Html.TextBoxFor(m => m.ConfirmPassword, "", new { @class = "form-control" })
    					@Html.ValidationMessageFor(m => m.ConfirmPassword, "", new { @class = "text-danger" })
    				</div><br />
    				<input type="submit" value="Enviar" />
    			</div>
    		}
    	</div>
    </body>
    </html>
    


    en esta clase en el app_start creo esta clase

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Optimization;
    
    namespace MVC_Parte_7.App_Start
    {
    	public class BundleConfig
    	{
    		public static void RegisterBundles(BundleCollection bundles)
    		{
    			bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
    				"~/Scripts/jquery-(version).js"));
    
    			bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
    				"~/Scripts/jquery.validate*"));
    
    			bundles.Add(new ScriptBundle("~/bundles/jqueryvalunobtrusive").Include(
    				"~/Scripts/jquery.validate.unobtrusive.min.js"));
    		}
    	}
    }

    y esos archivos los agregue con el nuget de visual studio

    y se agrego en el global.asax

    using MVC_Parte_7.App_Start;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using System.Web.Optimization;
    using System.Web.Routing;
    
    namespace MVC_Parte_7
    {
        public class MvcApplication : System.Web.HttpApplication
        {
            protected void Application_Start()
            {
                AreaRegistration.RegisterAllAreas();
                RouteConfig.RegisterRoutes(RouteTable.Routes);
    	    BundleConfig.RegisterBundles(BundleTable.Bundles);
            }
        }
    }
    

    pero cuando cooro la aplicación y se lanza la vista no funciona al debugearlo me topo con esto

    No se pueden cargar los archivos de jquery me podrían apoyar con este error

    De antemano muchas Gracias

    lunes, 27 de noviembre de 2017 8:08

Respuestas

  • hola

    Si ejecutas desde el Visual Studio estas en debug por lo tanto el minificado del js no aplica por lo tanto podrias usar la developer tools del browser (al cual accedes con F12) y ver si esta cargando la libreria de jquery, usarias la solapa de network para ver si la esta cargando

    esto lo puedes ver en la ultima imagen que publicas, donde esta la console, alli esta network para ver si carga el .js

    en principio el codigo que muestras parece estar todo correcto

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Propuesto como respuesta Jorge TurradoMVP lunes, 27 de noviembre de 2017 16:07
    • Marcado como respuesta niqel lunes, 27 de noviembre de 2017 17:39
    lunes, 27 de noviembre de 2017 13:32

Todas las respuestas

  • hola

    Si ejecutas desde el Visual Studio estas en debug por lo tanto el minificado del js no aplica por lo tanto podrias usar la developer tools del browser (al cual accedes con F12) y ver si esta cargando la libreria de jquery, usarias la solapa de network para ver si la esta cargando

    esto lo puedes ver en la ultima imagen que publicas, donde esta la console, alli esta network para ver si carga el .js

    en principio el codigo que muestras parece estar todo correcto

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Propuesto como respuesta Jorge TurradoMVP lunes, 27 de noviembre de 2017 16:07
    • Marcado como respuesta niqel lunes, 27 de noviembre de 2017 17:39
    lunes, 27 de noviembre de 2017 13:32
  • si el error estaba aqui

    bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
    "~/Scripts/jquery-3.2.1.js"));

    al quitar donde decia version por la verdadera version todo funciono

    lunes, 27 de noviembre de 2017 17:40
  • hola

    pero deberia funcionar con version

    Bundling and Minification

    en el titulo "Using Bundling and Minification with ASP.NET MVC" lo menciona que realiza un match

    pero recuerda agregar la referencia a jquery por medio de nuget

    salidos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 27 de noviembre de 2017 17:47