8

Web に mvc3 アプリケーションをデプロイしました。Url.Action() メソッドに仮想ディレクトリ名を追加するにはどうすればよいですか?

例:私のアプリケーションは mydomain.com\app にあります

今私がするとき

Url.Action は action="/Home/Create" を返しますが、必要なのは action = "/app/Home/Create" です。

何をすべきですか?

4

4 に答える 4

8

あなたはそれをする必要はありません。アプリケーションが仮想ディレクトリ (たとえばApp) 内の IIS に適切にデプロイされている場合、Url.Action("Create", "Home")ヘルパーは/app/home/Create正しい URL を生成します。

于 2013-02-21T14:18:02.277 に答える
1

ルートをマッピングします(: このルートはデフォルト ルートの前に表示する必要があります)

        context.MapRoute(
            name: "app",
            url: "app/{controller}/{action}/{id}",
            defaults: new { controller = "Test", action = "Index", id = UrlParameter.Optional }
        );

次に、次のように Url.Action を使用します (/app が表示されます)。

@Url.Action("Index", "Test")

Global.asax.cs ファイルでルートを見つけることができます。

于 2013-02-21T13:50:47.137 に答える
0

最後に、メインディレクトリまたはサブディレクトリでホストされているかどうかにかかわらず、URL 全体を返す Url.Content("~/Home/Create") を使用しています。

于 2013-04-13T07:32:00.673 に答える
0

あなたがしようとしているのは、AREAを作成することです。MVC は、Area の使用をサポートして、アプリケーション内のコントローラーとアクションをさらに整理します。

詳細については、この MSDN アークティクルを参照してください: http://msdn.microsoft.com/en-us/library/ee671793(v=vs.100).aspx

于 2013-02-21T21:09:40.390 に答える