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

  • Apple

    Apple

    22 HAZİRAN 2005
  • kalabrandmusic

    kalabrandmus

    25 Kasım 2009
  • LearnCode.academy

    LearnCode.ac

    20 Aralık 2012