猿问

在ASP.NET MVC中获取完整的操作URL

是否有获取操作完整URL的内置方法?


我正在寻找类似的东西GetFullUrl("Action", "Controller")会返回类似的东西http://www.fred.com/Controller/Action。


我正在寻找它的原因是为了避免在生成的自动电子邮件中对URL进行硬编码,以便始终可以相对于站点的当前位置生成URL。


红糖糍粑
浏览 895回答 3
3回答

qq_笑_17

Url.Action的重载将所需的协议(例如,http,https)作为参数-如果指定此参数,则将获得标准URL。这是一个在动作方法中使用当前请求协议的示例:var fullUrl = this.Url.Action("Edit", "Posts", new { id = 5 }, this.Request.Url.Scheme);HtmlHelper(@Html)也具有ActionLink方法的重载,您可以在剃刀中使用它创建锚元素,但是它还需要hostName和fragment参数。所以我只是选择再次使用@ Url.Action:<span>&nbsp; Copy&nbsp; <a href='@Url.Action("About", "Home", null, Request.Url.Scheme)'>this link</a>&nbsp;&nbsp; and post it anywhere on the internet!</span>
随时随地看视频慕课网APP
我要回答