Перенаправление на предыдущее действие после отправки формы в asp.net mvc - PullRequest
1 голос
/ 16 декабря 2009

На всех моих страницах есть форма, позволяющая пользователю выбирать язык. После завершения этого действия я изменяю текущий язык для этого пользователя, затем мне нужно убедиться, что я перенаправляю на то же действие, на котором они были ранее.

Я не уверен, что лучший способ сделать это в asp.net mvc. Один из подходов состоит в том, что на каждой странице я сохраняю контроллер и действие как скрытые переменные в языковой форме.

Другой будет сохранять последний контроллер и действие в tempdata, а затем ссылаться на него в действии, которое устанавливает текущий язык.

Есть какие-нибудь мысли о том, какой подход или другой подход лучше всего подходит для этого сценария?

Ответы [ 2 ]

1 голос
/ 16 декабря 2009

URL запроса страницы, на которой живут формы, содержит всю необходимую информацию о контроллере и действии. Таким образом, если вы добавите его как returnurl (или просто ru) параметр в форму, вы можете перенаправить действие POST на этот URL-адрес, вместо того, чтобы пытаться найти нужный контроллер и действие.

0 голосов
/ 18 декабря 2009

Вы также можете посмотреть демоверсию на http://karticles.blogspot.com/2009/12/aspnet-mvc-pattern-var-controllersview.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...