で三番目のパラメータを取得し、私はこのURLを持っている:私はasp.net MVCのウェブサイトを持ってasp.net MVC
Home/Index/
あり、私がやりたいワンアクションであり、現在、私はそれをやっていますクエリ文字列を使用して、次のように:
Home/Index/?action=1
私は、Request.QueryString["action"]
を使用して私のコードでそれを取得します。
しかし、これはそれが必要のように良い見ていない、私はこのような何かを持っているしたいと思います:
Home/Index/Action
だから、クエリ文字列は、第三引数になります。このように使用して、3番目のパラメータが存在し、それが名前であるかどうかを確認するにはどうすればよいですか?
私のルートは、このように構成されています
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
私はルート上で何かを変更する必要があるか、私はちょうど私が望むように入力することができ、そうであれば、どのように私は、この値を取得しますか?
編集:
よし。私がしたかったのは、このパラメータに応じて、ビュー内に別の結果を表示することでした。
私が今行ったのは、同じビューがViewData
に異なる値を送信する2つのActionResults
を作成することでした。
私はasp.net web api 2でルーティング属性を使用することでそれを達成できると思います。https://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing -in-web-api-2とここでは、mvc属性ルーティングの詳細があります。https://blogs.msdn.microsoft.com/webdev/2013/10/17/attribute-routing-in-asp-net-mvc-5/ – Vinod