需要从电子邮件创建指向MVC页面的链接

时间:2011-12-12 18:00:35

标签: c# asp.net-mvc

我需要创建一个电子邮件,用户应该从中单击它以进入ASP.NET MVC页面。 控制器名称为Truck,操作为“编辑”。

我不知道如何将其放入超链接,以便用户可以转到页面。 部分问题在于,在开发过程中,它表示localhost ......它如何足够聪明才能获得路径。

1 个答案:

答案 0 :(得分:7)

除了操作和控制器名称之外,您还需要此主机名,如您所说。您可以从ASP.NET MVC控制器中的Request对象获取主机名。

这是我最近在控制器中执行此操作以获取页面的URL,然后将其包含在电子邮件中。在localhost和托管上都适用于我。

string url = Url.Action("action", "controller",
    new System.Web.Routing.RouteValueDictionary(new { id = id }),
    "http", Request.Url.Host);

Url是一个UrlHelper,可以在ASP.NET MVC控制器中访问。

查看我使用的特定UrlHelper.Action()方法的MSDN documentation。似乎这是hostname参数的唯一重载。