SORU
11 Kasım 2008, Salı


Nasıl RedirectToAction ile ModelState koruyabilirsiniz?

Nasıl olursa ModelState bilgilerimi kaybetmeden benim ModelState bir hata ise farklı bir eylem sonucu iade ya da farklı bir eylem için Kullanıcı taşıyabilir miyim?

Senaryo; eylem Sil SİL formu Dizin benim Aksiyon/View tarafından işlenmiş bir YAZI kabul eder. Eğer Silmek bir hata varsa kullanıcı geri Index Action/View taşımak ve ViewData.ModelState Silme işlemi tarafından depolanan hataları göstermek istiyorum. Nasıl bu ASP.NET MVC yapılabilir?

[AcceptVerbs(HttpVerbs.Post | HttpVerbs.Delete)]
public ActionResult Delete([ModelBinder(typeof(RdfUriBinder))] RdfUri graphUri)
{
    if (!ModelState.IsValid)
        return Index(); //this needs to be replaced with something that works :)

    return RedirectToAction("Index");
}

CEVAP
11 Kasım 2008, Salı


Eğer varsa TempData görünümünde veri deposu ve Dizin oradan almak eylemi.

   ...
   if (!ModelState.IsValid)
       TempData["ViewData"] = ViewData;

   RedirectToAction( "Index" );
}

 public ActionResult Index()
 {
     if (TempData["ViewData"] != null)
     {
         ViewData = (ViewDataDictionary)TempData["ViewData"];
     }

     ...
 }

[DÜZENLE] kontrol ettim, on-line kaynak için MVC ve görünen ViewData içinde Denetleyicisi ayarlanabilir, bu yüzden bu muhtemelen en kolay tayinimi tüm ViewData de dahil olmak üzere ModelState, Dizin eylem.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 99being99

    99being99

    2 EYLÜL 2008
  • technodromeband's channel

    technodromeb

    28 NİSAN 2011
  • Videojug

    Videojug

    25 EKİM 2006