MVC3 路由 - 如何在控制器内获取 URL
有人可以告诉我当我在控制器中时如何获取用于调用我的路由的 URL 吗?这看起来很简单,但我找不到任何关于如何做到这一点的参考。如果你需要一个例子,我可以解释更多.. 之前我问了一个路线问题,有人告诉我如何检查满足哪条路线。这次我的需求有点不同。
谢谢,
曼迪
Can someone tell me how I can get the URL that was used to call my route when I am in the controller? It seems simple but I can't find any reference on how to do it. If u need an example I can explain more .. Previously I asked a route question and someone told me how I could check which route was met. This time my needs are a bit different.
Thanks,
Mandy
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用 Request 对象的 Url 属性。
这将返回一个包含您需要的所有内容的 Uri 对象。
您可能还对控制器的 RouteData 属性感兴趣,该属性提供了更详细的信息有关解析的路线的信息。
Use the Url property of the Request object.
That will return a Uri object with everything you need.
You might also be interested in the controller's RouteData property, which provides more detailed information about the parsed route.
由于您拥有对 Controller 的 Request 属性的引用,因此您可以执行以下操作:
Since you have a reference to the Request property of Controller, you can just do:
我将使用 RouteData.Values 属性而不是 Request 属性。在单元测试场景中,Request 属性可能为 null。
I would use the RouteData.Values property instead of the Request property. The Request property will probably be null in the unit testing scenario.
您可以使用路由调试器查看哪些 url 与您的控制器/操作匹配
更多信息
You can use the Routing debugger to see what url matches your controller / actions
more information