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

  • 10 Daughters, 2 Sons

    10 Daughters

    10 Mart 2009
  • Greater Than Gatsby Photoshop Actions & Lightroom Presets

    Greater Than

    11 ŞUBAT 2013
  • stokelycalm

    stokelycalm

    28 Aralık 2010