6

Hub から駆動される Chat クラスがあります。Url.Action("action","Controller") のような URLHelper で URL を作成する方法があるかどうかを知りたいです。

2 つの抽象クラス (ハブ、コントローラー) からクラスを派生させることができるので、ハード コードではなく完全な URL を構築する他の方法があるかどうかはわかりません。

4

2 に答える 2

1

私は現在ハブでこのコードを使用しています。これを行うためのより良い方法があると確信していますが、これは機能します。

注: 完全修飾 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);
    }
}
于 2013-12-06T19:32:31.250 に答える
-1

あなたはこれでそれを行うことができ、私はT4MVCを使用しています。

var urlHelper = new UrlHelper(Context.Request.GetHttpContext().Request.RequestContext);
var url = urlHelper.Action(MVC.Directors.EventSchedule.Index(EventId));
于 2014-07-10T18:21:06.817 に答える