【问题标题】:in asp.net-mvc controller, what is the best way to generate a URL在 asp.net-mvc 控制器中,生成 URL 的最佳方法是什么
【发布时间】:2011-04-26 17:59:48
【问题描述】:

现在我拿了

 RequestContext 

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

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

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

/Person/Update

代替:

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

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

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

【问题讨论】:

  • 你希望用它做什么?
  • @R0MANARMY - 我更新了这个问题,我需要在电子邮件中输入一个 url 并且“/Person/Update”真的不起作用?

标签: c# asp.net-mvc controller urlhelper


【解决方案1】:

通过使用proper overload

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

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

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

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    相关资源
    最近更新 更多