0

现在我拿

 RequestContext 

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

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

但问题是这似乎又回来了:

/Person/Update

代替:

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

那么,给定一个控制器和动作名称,我如何从控制器内部生成一个完整的 url?

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

4

2 回答 2

3

通过使用适当的重载

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

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

var protocol = context.HttpContext.Request.Url.Scheme;
string hrSyncUrl = u.Action("Update", "Person", null, protocol);
于 2011-04-26T18:03:50.807 回答
0

请参阅ASP.NET MVC 从 c# 代码创建绝对 url

于 2011-04-26T18:03:16.383 回答