SORU
24 EYLÜL 2008, ÇARŞAMBA


Nasıl bir sayfa YAZI fiil kullanarak yönlendirme musunuz?

Bir denetleyici içinde RedirectToAction çağırdığınızda, otomatik olarak bir HTTP GET kullanarak yönlendirir. Nasıl açıkça bir HTTP POST kullanmak söylerim?

GET ve POST isteklerini kabul eden bir eylem var, ve RedirectToAction POST kullanarak ve bazı değerleri göndermek mümkün olmak istiyorum.

Bu gibi:

this.RedirectToAction(
    "actionname",
    new RouteValueDictionary(new { someValue = 2, anotherValue = "text" })
);

someValue anotherValue değerleri bir HTTP POST yerine GET kullanılarak gönderilmesini istiyorum. Herkes bunu nasıl biliyor mu?

CEVAP
27 AĞUSTOS 2009, PERŞEMBE


Belirli bir örnek için, sadece belli ki aslında bu tarayıcı yönlendirme zaten (cevap kabul etme gereği zaten kabul ettiğiniz) olması umurumda değil, çünkü bunu yapmak istiyorum:

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index() {
   // obviously these values might come from somewhere non-trivial
   return Index(2, "text");
}

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(int someValue, string anotherValue) {
   // would probably do something non-trivial here with the param values
   return View();
}

Bu işleri kolayca ve hiçbir komik iş gerçekten oluyor - bu olanak sağlar korumak aslında bu ikincisi gerçekten kabul edilir HTTP POST istekleri dışında (bu örnek, denetimi altında zaten) gerek yok kullanın TempData ya, nedir Bu link size gönderdiğim cevap öneriyor.

Ne "" bu, bir şey yok. yanlış olduğunu bilmek isterdim Açıkçası, eğer istediğiniz gerçekten var gönderilen tarayıcı yönlendirme, bu işe yaramayacak, ama sonra sormalısın neden olur çalışıyor dönüştürmek ne olursa olsun, yana gibi görünüyor bana garip.

Bu yardımcı olur umarım.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Adam Khoury

    Adam Khoury

    23 Ocak 2008
  • Missouri Star Quilt Company

    Missouri Sta

    18 ŞUBAT 2009
  • Moodle

    Moodle

    11 Mayıs 2010