2010-01-22 28 views
15

Mesaj/Yönlendirme/ASP.NET MVC deseni alın uygulamak için en iyi yöntem nedir? Özellikle, ilk eylem/denetleyiciye yeniden yönlendirmek istediğinizde bunu yapmanın en iyi yolu nedir? İşteMesaj/Yönlendirme/ASP.NET MVC Desen alın

Şu anda bu yapıyorum edebilirsiniz: Kullanıcıya

  1. Ekran formu. formda
    • , Kullanıcı POST
    • Yönlendirme ile formu gönderen ViewData["returnUrl"] = Request.Url;
  2. kullanımı bir
  3. <%= Html.Hidden("returnUrl") %> kullanımı returnUrl model bağlayıcı değildir null eğer. Aksi takdirde, ana sayfaya yönlendirin.

Bu iş bitti, ancak bunun çok fazla yineleme ile sonuçlanacağını düşünür. Ben de muhtemelen ... Request.UrlReferrer için

Ne dersiniz bu gerçekleştirerek en temiz, en ideal yöntemdir yönlendirme anladı?

cevap

11

bunu yaptığını yolu iyi, ama bunu biraz overthinking olabilir gibi görünüyor. POST eylemleriniz birden fazla formdan form gönderileri mi alıyor? Değilse, neden gizli bir form alanı ile uğraşmak? Sen Tipik basit RedirectToAction("MyAction")

+0

Şu anda, birden çok formdan form yazılarını almıyorum - bu yüzden kesinlikle noktanızı görüyorum. Bu özel durumda, muhtemelen sadece RedirectToAction kullanacağım. Bununla birlikte, birden fazla forma sahip olsaydım, hala şu anki yöntemimle yapmamı önerir misiniz? – Charles

3

ile başarılı ibrazı üzerine yönlendirmek için gereken yerde POST bilir kolları bir eylem uzağa alabilir. Bu nedenle, RGP'yi uygulayan her eylem sadece RedirectToAction(string)'u çağırır.

public ViewResult Edit(string email) 
{ 
    // save the email 
    return RedirectToAction("Edit"); 
}