如何在 asp.net 核心控制器中创建 URL

时间:2020-12-21 17:00:50

标签: c# asp.net-core url model-view-controller asp.net-core-mvc

从 asp.net core 3.1 应用程序中的控制器,我需要创建一个链接,这将导致类似这样的事情

<块引用>

https://myhost/mycontroller/myaction/itemId。

此链接旨在包含在应用程序在必要时自动发送的电子邮件消息中。电子邮件的收件人旨在单击链接并登陆我的应用程序中的 url。如果应用程序在本地主机上运行,​​我希望链接类似于 https://locahost:1234//mycontroller/myaction/itemId,当它在远程 Web 服务器上时,我希望链接是 https::/ /theapplications/mycontroller/myaction/itemId

我做到了

Url.Action("myaction",new { sr.Id })

并意识到当我在电子邮件中使用它时,从电子邮件中,它没有指向 https://myhost/mycontroller/myaction/itemId

而是指向“http://theemailhostaddress/myaction/itemid”

请问我如何从我的控制器中实现这一点

谢谢。

1 个答案:

答案 0 :(得分:0)

你应该试试

string link = Request.Url.Scheme + "://" + Request.Url.Authority + Url.Action("myaction", "mycontroller", new { itemId = sr.Id});