1. ホーム
  2. asp.net-mvc

[解決済み] ASP.NET MVCのモデルでUrlHelperを呼び出す

2022-04-24 19:32:32

質問

ASP.NET MVCのモデルで、いくつかのURLを生成する必要があります。UrlHelper.Action()のようなものを呼び出して、ルートを使ってURLを生成したいのですが、どうすればいいですか?ホスト名、スキームなど、通常の空白を埋めることは気にしません。

そのために呼べるメソッドはあるのでしょうか?UrlHelperを構築する方法はありますか?

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

私はOmarの答えが好きですが、それは私のために動作していません。念のため、私が今使っている解決策はこれです。

var httpContext = HttpContext.Current;

if (httpContext == null) {
  var request = new HttpRequest("/", "http://example.com", "");
  var response = new HttpResponse(new StringWriter());
  httpContext = new HttpContext(request, response);
}

var httpContextBase = new HttpContextWrapper(httpContext);
var routeData = new RouteData();
var requestContext = new RequestContext(httpContextBase, routeData);

return new UrlHelper(requestContext);