1. ホーム
  2. asp.net

[解決済み] コントローラでのURLの作成 .NET MVC

2022-06-14 15:38:11

質問

メールを送信するために、コントローラのActionにリンクを作成する必要があります。 これを行うためのベストプラクティスは何でしょうか?私は、ルートが変更された場合に備えて、自分でそれを構築したくないのです。

各メールのビューを用意し、それをレンダリングして送信すればよいのでしょうか? それは良い方法かもしれません。

どのように解決するのですか?

あるアクションへのパスを取得したいだけなら UrlHelper :

UrlHelper u = new UrlHelper(this.ControllerContext.RequestContext);
string url = u.Action("About", "Home", null);

はハイパーリンクを作成する場合。

string link = HtmlHelper.GenerateLink(this.ControllerContext.RequestContext, System.Web.Routing.RouteTable.Routes, "My link", "Root", "About", "Home", null, null);

Intellisenseは各パラメータの意味を教えてくれます。


コメントからの更新 : コントローラはすでに UrlHelper :

string url = this.Url.Action("About", "Home", null);