1

コントローラー名なしで URL を生成したいと思います。以下のコードを使用すると...

 @Url.Action("d", null, new { id = Model.DownloadId })

...私はこのようなURLを取得します

http://localhost:814/DefaultController/d/11234

このようなURLを取得したい

http://localhost:814/d/11234

私のルートコード..

routes.MapRoute("Download result form", "d/{id}", new { controller = "Result", action = "DownloadForm" });

... 上記のような URL を処理します (コントローラ名のない Action と Id のみ)。

4

1 に答える 1

0

これにより、これらのアクションが他のコントローラーへのバインドと競合するという問題が発生します。

必要なもののようなきれいな URL を作成するには、アクション名を省略するのがより一般的です。たとえば、このページ stackoverflow/questions/{id}

アップデート

アクションにコントローラーを提供して、選択するルートを認識できるようにします。つまり、

 @Url.Action("DownloadForm", "Result", new { id = Model.DownloadId })

それが機能しない場合は、別のルートによって取得されているため、ルートの順序が希望どおりではありません。

于 2012-11-05T13:39:19.120 に答える