- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
给出以下代码:
public class MyActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var a = filterContext.ActionParameters["someKey"];
var b = filterContext.RouteData.Values["someKey"];
base.OnActionExecuting(filterContext);
}
}
a
和b
有什么区别?
我们什么时候应该在路线数据上使用操作参数?有什么区别?
最佳答案
当您在 OnActionExecuting
上使用 ActionParameters
时,您可以在处理操作之前更改客户端发送的值,例如:
public class MyActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.ActionParameters["customerId"] = 852;
base.OnActionExecuting(filterContext);
}
}
如果您有一个使用 customerId 参数的操作,您将获得操作过滤器上设置的值,因为您的操作具有过滤器,例如:
当您请求这样的任何网址:/customer/detail/123
时,您将在 CustomerId 上获得 852
值:
[MyAction]
public ActionResult Detail(int customerId)
{
// customerId is 852
return View();
}
RouteData
只是 url 上的值,由路由表处理。
关于.net - ActionExecutingContext - ActionParameters 与 RouteData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13169937/
给出以下代码: public class MyActionFilter : ActionFilterAttribute { public override void OnActionExecu
ActionExecutedContext 类中是否有类似ActionExecutingContext 的ActionDescriptor.ActionParameters 属性的东西? 我需要在这个
我正在开发一个 MVC 项目,其中 Controller 操作处理 Assets 。不同的 Controller 以不同的方式接收 assetId 参数:一些 Controller 简单地获取 int
我正在构建用户调用的操作的历史记录。为此,我需要原始查询字符串中的所有参数。这需要在OnActionExecuted(After the action)中完成,因为filterAction.Resul
我是一名优秀的程序员,十分优秀!