2011-02-18 26 views
6

Aşağıdaki kodu benim denetleyicimden birinde kullandım;asp.net mvc ajax gönderi - yeniden yönlendirme işlemi çalışmıyor

  if (Request.IsAjaxRequest()) { 
      return RedirectToAction("PreviewAndSendEmail"); 
     } 

Hata ayıkladı ve satırı döndürmeye geldim, ancak yönlendirme gerçekleşmedi. Bunu Ajax.BeginForm içinde yapmak mümkün mü? İşte tıraş makinesi kodu;

using(Ajax.BeginForm(new AjaxOptions { LoadingElementId = "loading" })) { 

    <b>Choose E-mail Template : </b>@Html.DropDownList("emailtemps")<br /><br /> 

    <input type="submit" value="Preview & Send" /> 

    <span id="loading" style="display: none;"> 
     <img title="loading..." alt="load" src="@Url.Content("~/Content/App_Icons/gifs/loading.gif")" 
    </span> 

} 
+0

Yorum için teşekkürler http://stackoverflow.com/questions/3534956/how-can-i-redirecttoaction-within-ajax-backback –

cevap

15

Sunucudan bir AJAX eyleminde yeniden yönlendirme yapamazsınız. Tarayıcınızın bir AJAX eyleminde yeniden yönlendirilmesini istiyorsanız, bunu javascript'ten yapmanız gerekir. Açıkçası AJAX kullanarak yönlendirme kesinlikle işe yaramaz. Yönlendirmeyi düşünüyorsanız, normal bir Html.Begin formu kullanın ve AJAX ile uğraşmayın.

+1

. Bu konuda sana katılıyorum. Bunu yükleme gifini göstermek için kullandım. gif – tugberk

+0

@Darin'i göstermenin başka bir yolu var, bir öğeyi bir öğenin bir öğesini düzenlemek için bir formla güncelleyen bir eylemi çağırmak için bir ajax işlevi var. Bu formlar başka bir eylemi yürüten bir gönderme düğmesi içerir (Kaydet). 'Kaydet' eylemi çağrıldıktan sonra ana listenin bu öğenin yeni değerleri ile güncellenmesini istiyorum. Sil düğmesiyle aynı şey - bir öğeyi sildikten sonra güncelleme listesi. – Shimmy

+0

@Darin Dimitrov "Yönlendirme yapmak için AJAX'ın kullanılması kesinlikle işe yaramaz." Bunu ne düşündün? Başka bir işlem yönteminde bulunan bazı kodları çoğaltmaktan kaçınmak oldukça yararlı olabilir. –

1

Neden PreviewAndSendMailEmail'i doğrudan aramıyorsunuz? Yeniden yönlendirmeye ihtiyacınız olmadığından (URL'de değişiklik vb.), Onu kullanmaya gerek yoktur.

İlgili konular