2011-12-23 3 views
1

У меня есть следующие действия:Могу ли я проверить параметры метода действия из моего OnActionExecuting?

public ActionResult Delete(string city, string street) { 

Возможно ли для меня, чтобы получить значения параметров города и улиц внутри из OnActionExecuting фильтра?

public override void OnActionExecuting(ActionExecutingContext filterContext) 
     { 

ответ

1

ли вы в принципе хотите получить доступ к вашим ценностям маршрута здесь (в отличие от значений параметров в методе, который не имеет прямого доступа, так как это уже «связаны» метод - это по сути то же самое хотя)

доступ к ControllerContext в методе, и это дает вам доступ к RouteValues ​​ так filterContext.Controller.RouteValues ​​

ActionExecutingContext Class

ControllerContext Class

EDIT Для полноты (основанной на другом посте) эти данные доступны, если вы хотите просто действие параметры струнного города = filterContext.ActionParameters [ «город»];

Это зависит от того, к чему вы хотите получить доступ, поскольку они могут быть другими параметрами маршрута, не привязанными к значениям параметров.

+0

Я всегда думал, что мы получим текущие выполненные действия RouteValues ​​действия от filterContext.Controller.RouteValues ​​внутри OnActionExecuting. Я должен попробовать. – tugberk

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