c# - 将 RouteData.Values 与操作参数结合起来

标签 c# asp.net-mvc routes

我正在自定义 Action Filter 中设置一些 RouteData

filterContext.RouteData.Values.Add("accountId", accountId);
filterContext.RouteData.Values.Add("permission", (int)permission);

然后我有一个像下面这样的 Action

public ActionResult Get(Guid accountId, int permission, int id) {

}

我可以通过路由将 RouteData 值与操作参数结合起来吗?如果是,怎么做?

我只想使用一个 URL,例如

http://localhost/Users/Get/1

它们的路由数据存在并且可以使用

检索
Guid accountId = (Guid)RouteData.Values["accountId"];
Permission permission = (Permission)RouteData.Values["permission"];

最佳答案

您应该创建自定义 ValueProvider,而不是操作过滤器。
有关详细信息,请参阅 here .

关于c# - 将 RouteData.Values 与操作参数结合起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10611349/

相关文章:

linux add ip route 然后恢复旧路由

ruby-on-rails - 带有空路径和助手的路由

ruby-on-rails - 如何为/user/2/files/any/path/to/a/file 创建 Rails 通配符路由?

c# - 不包含 ToPagedList 的定义

c# - 如何让 OmniSharp VSCode intellisense 与 WSL 编译的代码一起工作?

c# - 在 C# 中查看 List<T> 是否具有 <T> (无论 <T> 中的属性顺序如何)

c# - 在 C# 中的 BouncyCaSTLe 中构建证书链

c# - ASP.NET MVC 中的路由,在 URL 中显示用户名

c# - 将异步模型集合映射到异步 ViewModel 集合

c# - 通过与PC连接的手机发送短信