在asp.net-mvc控制器中,生成URL的最佳方法是什么?

本文关键字:最佳 方法 是什么 URL 生成 net-mvc asp 控制器 | 更新日期: 2023-09-27 17:53:19

现在我把

 RequestContext 

并将其传递给UrlHelper,如下所示:

UrlHelper u = new UrlHelper(context);
string hrSyncUrl = u.Action("Update", "Person");

,但问题是,这似乎返回:

/Person/Update

代替:

http://www.mysite.com/Person/Update

所以,给定一个控制器和动作名称,我怎么能从控制器内部生成一个完整的url ?

我需要这个的原因是我正在生成一封电子邮件,所以我需要完整的url来放入该电子邮件的正文

在asp.net-mvc控制器中,生成URL的最佳方法是什么?

通过使用适当的重载:

string hrSyncUrl = u.Action("Update", "Person", null, "http");

为了避免硬编码协议,你可以从请求中获取它:

var protocol = context.HttpContext.Request.Url.Scheme;
string hrSyncUrl = u.Action("Update", "Person", null, protocol);

参见ASP。. NET MVC从c#代码创建绝对url