none
Como retornar errores desde el servidor RRS feed

  • Pregunta

  • Hola

    Cuando hago POST sobre una view como puedo retornar errores lógicos de mi aplicación ?? Como AddModelError ?? Pero si la pagina hace post se refresca toda ... Help !!!

    lunes, 14 de julio de 2014 20:22

Todas las respuestas

  • es que luego de ir al action en el post deberias volver a recrear el modelo y es alli cuando se pasan los errores

    Part 6: Using Data Annotations for Model Validation

    la idea es que luego del post invoquea a la misma view

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 14 de julio de 2014 21:46
  • Hola

    Pero cuando trabajo entre Areas, mira, tengo el siguiente código:

     [HttpPost]
            public ActionResult Save(Enterprise entity)
            {
                if (ModelState.IsValid)
                {
                    if (!Directory.Exists(Server.MapPath("~/Logos/")))
                    {
                        Directory.CreateDirectory(Server.MapPath("~/Logos/"));
                    }
    
                    HttpPostedFileBase file = Request.Files["fleFile"];
    
                    if (file != null && file.ContentLength > 0)
                    {
                        var fileName = Path.GetFileName(file.FileName);
                        entity.Logo = fileName;
                        var path = Path.Combine(Server.MapPath("~/Logos/"), fileName);
                        file.SaveAs(path);
                        entity.Logo = fileName;
                    }
    
                    if (entity.Id != Guid.Empty)
                    {
                        if (string.IsNullOrEmpty(entity.Logo))
                        {
                            entity.Logo = Facade.GeneralService.Get(enterprise => enterprise.Id == entity.Id).Logo;
                        }
    
                        if (Facade.GeneralService.Edit(entity))
                        {
                            return RedirectToAction("Master", "Enterprise", new { Area = "Management" });
                        }
    
                        ModelState.AddModelError("", ErrorsTypeHelper.GetError(ErrorsType.TroublesSaving));
                        return RedirectToAction("Save", "Enterprise", new { Area = "Management" });
                    }
                    else
                    {
                        if (Facade.GeneralService.Create(entity) != null)
                        {
                            return RedirectToAction("Master", "Enterprise", new { Area = "Management" });
                        }
    
                        ModelState.AddModelError("", ErrorsTypeHelper.GetError(ErrorsType.TroublesSaving));
    
                        return RedirectToAction("Save", "Enterprise", new { Area = "Management" });
                    }
                }
    
                return View(entity);
            }

    Y al hacer el ModelState.IsValid ?? Da error y va a la linea de código: return View(entity);

    Al hacer ello, me da el siguiente error:

    Entonces, como puedo solucionar ello ???

    Adicionalmente como puedo hacer para que un campo no sea requerido ?? Por ejemplo el Id ??
    lunes, 14 de julio de 2014 22:59
  • hola

    pero tienes definido un Save.cshtml dentro de la carpeta del controladorr dentro del area ?

    si haces boton derecho dentro del codigo de ese action y usas la opcion de "Add View" podrias crearla

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 15 de julio de 2014 0:02
  • Hola

    Tengo una duda:

    Tengo dos Action en un Controller:

    public ActionResult Save(int? id){MetodoCargarControles(TipoDato parametro);}

    [HttpPost]

    public ActionResult Save(Entidad entity){MetodoCargarControles(TipoDato parametro);}

    **Si en el método que recibe un int? tengo un método que carga unos drop down helpers, al hacer Post tengo que volver a llamar el método que me garga los dropDown helpers ?? Esto para que no se pierda referencia a lo que ya se ah seleccionado ??? Es la forma de reemplazar el ViewState ??

    martes, 15 de julio de 2014 18:10