我想调用一个特定的方法来调用任何动作来做一些工作.我想知道这是否可能?我确实有一个所有控制器的基本控制器,但目前没有任何东西.
即如果我进入索引页面,当调用该方法时,会向控制器调用索引操作方法我想做一些工作然后继续操作.我试图避免在每个单独的动作中调用这个方法,看看是否有一种通用的方式在每个地方调用它.
是的,确实有一些东西.您正在寻找过滤器,更具体地说是过滤器OnActionExecuting.
如果在派生的Controller类中重写此方法,则将为类中的每个操作方法调用该方法.为了获得更大的灵活性,从ActionFilterAttribute派生一个类,并在派生的ActionFilterAttribute类中重写此方法.
样品:
protected override void OnActionExecuting(ActionExecutingContext ctx) {
base.OnActionExecuting(ctx);
ctx.HttpContext.Trace.Write("Log: OnActionExecuting",
"Calling " +
ctx.ActionDescriptor.ActionName);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
181 次 |
| 最近记录: |