ASP.NET MVC - 如何获取操作的完整路径
在视图内部我可以获得操作的完整路线信息吗?
如果我在控制器 MyController 中有一个名为 DoThis 的操作。我可以访问 "/MyController/DoThis/"
路径吗?
Inside of a View can I get a full route information to an action?
If I have an action called DoThis in a controller MyController. Can I get to a path of "/MyController/DoThis/"
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的意思是在 Url 帮助器上使用 Action 方法:
或者在 Razor 中:
这会给你一个相对 URL (
/MyController/DoThis
)。如果您想获取绝对网址(
http://localhost:8385/MyController/DoThis
):You mean like using the Action method on the Url helper:
or in Razor:
which will give you a relative url (
/MyController/DoThis
).And if you wanted to get an absolute url (
http://localhost:8385/MyController/DoThis
):几天前,我写了一篇关于该主题的博客文章(请参阅如何使用 UrlHelper 类构建绝对操作 URL)。正如 Darin Dimitrov 提到的:如果显式指定了
protocol
参数,UrlHelper.Action
将生成绝对 URL。但是,为了便于阅读,我建议编写一个自定义扩展方法:
然后可以像这样调用该方法:@Url.AbsoluteAction("SomeAction", "SomeController")
Some days ago, I wrote a blog post about that very topic (see How to build absolute action URLs using the UrlHelper class). As Darin Dimitrov mentioned:
UrlHelper.Action
will generate absolute URLs if theprotocol
parameter is specified explicitly.However, I suggest to write a custom extension method for the sake of readability:
The method can then be called like this:
@Url.AbsoluteAction("SomeAction", "SomeController")