2017-10-14 29 views
0

私はアンカータグヘルパーを使用しています。ASP.NetコアアンカータグヘルパーをRESTfulリンクとして

<a asp-controller="SomeController" asp-action="SomeAction" asp-route-id="@Model.ID" asp-route-type="@someType"> 

私がしたい:私は私のタグは、この(それが重要ということ、そのタイプは、この場合のidよりも具体的ではありません注意してください)のように見える、生成されたばかりされて、特定のURLをクリーンアップしたいと思います代わりにGET文字列の、RESTfulな形式で「追加」パラメータ(複数可)を取得する方法はあり

http://localhost:1234/SomeController/SomeAction/42/1 

をしかし、その代わりに、私は

http://localhost:1234/SomeController/SomeAction/42?type=1 

が取得:次のようになりますURLを取得します?私はいつもより一般的な方法でルートやURLを変更することができますが、私がこの作業を行うことができれば好奇心が強いです。

+0

これはRESTfulではありません。 RESTfulは、リソースについてのもので、アクションにHTTP動詞を使用します。別のクエリ引数をパスの中に埋め込むだけです。 - あなたのルートを設定するには[ルーティングに関するドキュメントを参照してください](https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/routing)。 – poke

答えて

0

私は自分の質問に答えて、それが他の人に利益をもたらすことを期待しています。問題は、以下のようなカスタムルートを作成する必要があることでした。

  routes.MapRoute(
       name: "newRoute", 
       template: "{controller=SomeController}/{action=SomeAction}/{id}/{type}"); 

より良い方法がある場合は、代替アプローチに興味があります。