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

  • Grace Su

    Grace Su

    6 Ocak 2006
  • ŠĩŗĜŕôŵåɭȍҭҭ

    ŠĩŗĜŕô

    29 Kasım 2009
  • Visual Life

    Visual Life

    3 Temmuz 2006