我的网站有很多路线。由于用户可以随意添加或删除页面,我需要一种方法来不时重新注册路由
在重新注册时,我不想清除整个路由缓存(“RouteTable.Routes.Clear”),但我宁愿通过路由通过表路由,并在其名称上使用某个正则表达式,决定是否删除是不是。
之后,我将重新注册我需要的特定页面
同时是我的代码
For Each r In RouteTable.Routes
If CType(r, Route).DataTokens("ConfigID") = ConfigID Then RouteTable.Routes.Remove(r)
Next
在第一次删除后抛出错误“集合被修改;枚举操作可能无法执行。”
非常感谢你的帮助!!
答案 0 :(得分:2)
无法获取路线的路线名称,因为该名称不是路线的属性。将路由添加到RouteTable时,该名称将用作路径的内部索引,并且永远不会暴露。
有一种方法可以做到这一点。
执行#1的最简单方法是编写自己的扩展方法来映射路由。