我有一个重定向,例如:
return RedirectToAction(MVC.Area.Controller.Index(institutionId));
这重定向到一个控制器,该控制器继承自另一个控制器,该控制器具有如下定义的动作过滤器:
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
var institutionId = filterContext.ActionParameters["institutionId"];
var institution = InstitutionRepository.GetById((int)institutionId);
...other code
}
ActionExecutingContext.ActionParameters 包含机构 ID,但值始终为 NULL。我也尝试过重定向到路由,但这给出了相同的输出。困扰我的是,当我查看路线时,机构Id 似乎是通过查询参数传递的(Area/Controller?institutionId=17 而不是 Area/Controller/17)
MVC 代表 T4MVC,它是用于避免在重定向中硬编码字符串的框架。