none
No reconoce la URL RRS feed

  • Pregunta

  • Hola !

    Estoy llamando en mi explorador la siguiente ruta :

    localhost:55686/Salud/CarnetSanidad/Editar/5


    y me sale el siguiente error :

    The parameters dictionary contains a null entry for parameter 'SanId' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult Editar(Int32)' in 'OficinaVirtual.Areas.Salud.Controllers.CarnetSanidadController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
    Nombre del parámetro: parameters


    este es el código en mi controlador :

     public ActionResult Editar(Int32 SanId)
            {
               objCarnet = CarnetSanidadBL.Instancia.ListarCarnetID(SanId);
                
                return View(objCarnet);                                
            }
    
            [HttpPost]
            public ActionResult Editar()
            {
                return View();
            }

    otros datos :

    Area: Salud

    Controlador : CarnetSanidad

    framework : MVC5

    Configuracion del mapa de rutas el area de salud

     public override void RegisterArea(AreaRegistrationContext context) 
            {
                context.MapRoute(
                    "Salud_default",
                    "Salud/{controller}/{action}/{id}",
                    new { action = "Index", id = UrlParameter.Optional },
                    namespaces: new [] {"OficinaVirtual.Areas.Salud.Controllers"}
                );
            }


    desarrollador .NET

    viernes, 27 de junio de 2014 15:49

Respuestas

  • El error está en que en el mapa de rutas has llamado "id" al parámetro, pero en el método de acción se llama "SanId". Por eso da un error, ya que el DefaultBinder no encuentra ningún valor que pasarle a "SanId" (solo encuentra un valor para "id").
    • Propuesto como respuesta Sergio ParraModerator viernes, 27 de junio de 2014 20:48
    • Marcado como respuesta becavas lunes, 30 de junio de 2014 15:15
    viernes, 27 de junio de 2014 17:00