SORU
8 EKİM 2009, PERŞEMBE


Nasıl UpdateTargetİd içine görünüm eklemek yerine yeni bir sayfaya yönlendirmek için ASP.NET MVC Ajax bir yanıt almak için?

Ajax kullanıyorum.BeginForm oluşturmak için bir form yapacak bir ajax geri gönderme için belirli bir denetleyicisi eylem ve ardından eğer eylem başarılı olursa, kullanıcı gerekir almak için yeniden yönlendirilmiş bir sayfa (eğer eylemi başarısız sonra bir durum mesajı alır görüntülenen kullanarak AjaxOptions UpdateTargetİd).

using (Ajax.BeginForm("Delete", null,
        new { userId = Model.UserId },
        new AjaxOptions { UpdateTargetId = "UserForm", LoadingElementId = "DeletingDiv" },
        new { name = "DeleteForm", id = "DeleteForm" }))
   {
    [HTML DELETE BUTTON]
   }

Eğer silme işlemi başarılı olursa bir Yönlendirme sonucu iade ediyorum:

[Authorize]
public ActionResult Delete(Int32 UserId)
{
    UserRepository.DeleteUser(UserId);
    return Redirect(Url.Action("Index", "Home"));
}

Ama Eve Denetleyicisi Dizin görünümü UpdateTargetİd yüklü oluyor ve bu nedenle ben bir sayfa içinde bir sayfa. Düşündüğüm iki şey var

  1. Ya bu mimarinin hızla ediyorum ve bu tür işlemek gerekir yanlış farklı (ajax kullanarak) eylem.
  2. Yönlendirme döndürmek yerine olan sonuç, dönüş görüntüleyin ne iş yapıyor javascript istemci tarafında yeniden yönlendirme.

Herkes #1 hakkında yorum yapacak olan var mı? Ya Eğer #2 iyi bir çözüm ise, "javascript view" gibi bak? yönlendirmek ne olurdu

CEVAP
15 AĞUSTOS 2011, PAZARTESİ


JavascriptResult bunu başarmak için kullanabilirsiniz.

Yönlendirmek için:

return JavaScript("window.location = 'http://www.google.co.uk'");

Geçerli sayfayı yeniden yüklemek için:

return JavaScript("location.reload(true)");

En basit seçenek gibi görünüyor.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FND Films

    FND Films

    2 Mayıs 2006
  • incognitotraveler

    incognitotra

    27 Mayıs 2010
  • Keith Anthe

    Keith Anthe

    26 NİSAN 2011