2011-12-12 2 views
2

Je dois créer un email à partir duquel l'utilisateur est censé cliquer dessus pour accéder à une page ASP.NET MVC. Le nom du contrôleur est Truck et l'action est Edit.Besoin de créer un lien vers la page MVC à partir de l'email

Je ne sais pas comment mettre cela dans un lien hypertexte tel que l'utilisateur peut aller à une page. Une partie du problème est que dans le développement, il dit localhost ... Comment peut-il être assez intelligent pour obtenir le chemin.

Répondre

6

En dehors de l'action et du nom du contrôleur, vous avez également besoin du nom d'hôte pour cela, comme vous l'avez dit. Vous pouvez obtenir le nom d'hôte à partir de l'objet Request à l'intérieur du contrôleur ASP.NET MVC.

Voici comment je l'ai fait récemment dans le contrôleur pour obtenir l'URL d'une page, que j'ai ensuite inclus dans les courriels. Fonctionne bien pour moi à la fois sur localhost et l'hébergement.

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

Url est un UrlHelper qui est accessible à l'intérieur de contrôleur ASP.NET MVC.

Consultez la MSDN documentation pour la méthode spécifique UrlHelper.Action() que j'ai utilisée. Semble que c'est la seule surcharge avec le paramètre hostname.

Questions connexes