2010-05-06 4 views
1

я могу получить текущее имя действия, используя следующий кодasp.net MVC: как получить предыдущее название действия

var currentActionName = ControllerContext.RouteData.GetRequiredString("action"); 

но можно получить предыдущее название действия, а?

+1

Не могли бы вы объяснить, почему вам это нужно? Каков ваш сценарий? Возможно, есть лучшее решение вашей проблемы. –

+0

@ Дауминг Ян Вам это нужно, чтобы создать обратный URL-адрес или что-то еще? Если это так, вы можете просто использовать реферер в запросе. – Kelsey

+0

Я хочу, чтобы действие выполняло множество разных задач на основе предыдущего URL-адреса (имя передаточного действия в оператор switch). Я не хочу создавать много методов действий, которые трудно поддерживать. –

ответ

0

Почему бы не сохранить его в переменной сеанса?

Попробуйте это:

Session["lastAction"] = Session["actualAction"]; 
Session["actualAction"] = ControllerContext.RouteData.GetRequiredString("action"); 
+2

Лучшим подходом может быть использование TempData, поскольку он очищается каждый раз, когда он считывается. –

Смежные вопросы