我可以在OnActionExecuting中检查操作方法的参数吗?

时间:2011-12-23 15:46:33

标签: asp.net-mvc asp.net-mvc-3

我有以下行动:

public ActionResult Delete(string city, string street) {

我是否可以从OnActionExecuting过滤器内部获取城市和街道参数的值?

public override void OnActionExecuting(ActionExecutingContext filterContext)
        {

1 个答案:

答案 0 :(得分:1)

你基本上是想在这里访问你的路由值(而不是你没有直接访问的方法中的参数值,因为那已经是'绑定'方法了 - 虽然它本质上是相同的)

访问方法中的ControllerContext,可以访问RouteValues 所以filterContext.Controller.RouteValues

ActionExecutingContext Class

ControllerContext Class

修改的 为了完整性(基于您的其他帖子),如果您只想要操作参数,则可以使用此数据     string city = filterContext.ActionParameters [“city”];

这取决于你想要访问的内容,因为其他路由参数可能没有绑定到参数值。