как перенаправить на тот же маршрут (откуда пришел запрос) в asp.net mvc - PullRequest
6 голосов
/ 29 сентября 2010

Я публикую форму из частичного представления, которое отображается через Html.RenderAction, и я хочу, чтобы после отправки формы перенаправлялся на тот же маршрут, откуда пришел запрос.

public ActionResult Index()
{
    return PartialView();
}

[HttpPost]
public ActionResult Index(FormModel input)
{
     ...
     return //Redirect to the same route
}

Кто-нибудь знает, как это сделать?

Ответы [ 2 ]

2 голосов
/ 29 сентября 2010

Вы можете получить UrlReferrer из объекта Request:

return Redirect(HttpContext.Request.UrlReferrer.OriginalString);
1 голос
/ 29 сентября 2010

Я бы добавил строку запроса к сообщению формы, которую вы можете использовать для перенаправления в действии контроллера.

<form action="example.com/model/edit?returnurl=http://example.com/Form" method="post">

Действие контроллера ...

[HttpPost]
public ActionResult Index(FormModel input, string returnUrl)
{
     ...
     return Redirect(returnUrl);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...