Asp.net MVC AcceptVerbs

Здесь RedirectToAction() не вызывает ActionResult Индекс. Нужно ли регистрировать маршрут для этого?

[ActionName("onchange")]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult OnChange(int i)
{
    m_NumberOfVisibleItems = i;           
    return RedirectToAction("Index");
}

2 ответа

В зависимости от того, какую версию MVC вы используете, вам больше не понадобится [ActionName]. Кроме того, вы уверены, что у вас есть действие "Индекс" в этом контроллере, и у вас нет [ActionName] на нем, которое выглядит так:

[ActionName("index")]

Многие вещи в MVC работают через рефлексию, и я считаю, что с этим может быть проблема с капитализацией.

Я не уверен на 100%, но не перенаправляет ли RedirectToAction перенаправление 302 клиенту? Так что он не будет напрямую вызывать Index(), только в следующем запросе от браузера.

Другие вопросы по тегам