现在我拿
RequestContext
并将其传递给UrlHelper,如下所示:
UrlHelper u = new UrlHelper(context);
string hrSyncUrl = u.Action("Update", "Person");
但问题是这似乎回归:
/Person/Update
而不是:
http://www.mysite.com/Person/Update
所以,给定一个控制器和动作名称,如何从控制器内部生成一个完整的URL?
我需要这个的原因是我正在生成一封电子邮件,所以我需要将完整的网址放入该电子邮件的正文中。
答案 0 :(得分:3)
string hrSyncUrl = u.Action("Update", "Person", null, "http");
为了避免对协议进行硬编码,您可以从请求中获取它:
var protocol = context.HttpContext.Request.Url.Scheme;
string hrSyncUrl = u.Action("Update", "Person", null, protocol);
答案 1 :(得分:0)