Hub から駆動される Chat クラスがあります。Url.Action("action","Controller") のような URLHelper で URL を作成する方法があるかどうかを知りたいです。
2 つの抽象クラス (ハブ、コントローラー) からクラスを派生させることができるので、ハード コードではなく完全な URL を構築する他の方法があるかどうかはわかりません。
Hub から駆動される Chat クラスがあります。Url.Action("action","Controller") のような URLHelper で URL を作成する方法があるかどうかを知りたいです。
2 つの抽象クラス (ハブ、コントローラー) からクラスを派生させることができるので、ハード コードではなく完全な URL を構築する他の方法があるかどうかはわかりません。
私は現在ハブでこのコードを使用しています。これを行うためのより良い方法があると確信していますが、これは機能します。
注: 完全修飾 URL が必要な場合は、ドメインを正しく設定してください (example.com)。
protected virtual UrlHelper Url
{
get
{
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);
}
}
あなたはこれでそれを行うことができ、私はT4MVCを使用しています。
var urlHelper = new UrlHelper(Context.Request.GetHttpContext().Request.RequestContext);
var url = urlHelper.Action(MVC.Directors.EventSchedule.Index(EventId));