オリジナル:- ASP.NETコアの基礎チュートリアル-シンプルなチュートリアルで、簡単なプログラミングASP.NETコアは、ルートの属性
ASP.NETコアルーティングプロパティ
前のセクションで学んだ後、おそらくあなたは大まかなアイデアをルーティングASP.NET MVCコアに持って、私は、ルーティングルールを説明するためにいくつかの章を費やすことを望んでいたが、基本的なチュートリアルとして、我々はそれ次の知識のポイントを説明します。
本章では、ルーティングの属性に基づいて別のルーティング方法を、学びます。
ルーティング属性
属性ベースルーティングによって、我々は、これらのクラスとコントローラクラスのメソッドの内部で使用できる C#
属性。特定のASP.NETコアコントローラを呼び出すように言われたときにこれらのプロパティは、メタデータを運びます
- プロパティ代替ルーティングが合意された経路に基づいています
- 彼らは査定に表示されている順序でルーティング、つまり、我々はURLで異なるパラメータを使用したい場合は特に、状況は複数のルートをマップするのは非常に一般的である、彼らの順序を登録、またはあなたは、URLで異なるテキストを使用する場合
私たちは、簡単な例を与えます。
オープンとHelloWorldプロジェクトを実行し、ブラウザでアプリケーションにアクセスします。私たちが訪れたとき / about
、それは次の出力を生成します
私たちは、私たちが訪れた時に、欲しい /about
、アプリケーションが呼び出す必要があります 方法をAboutController
Phone
このような状況に鑑み、我々は使用することができ Microsoft.AspNetCore.Mvc
、名前空間の Route
明示的なルートの一部を強制するために、コントローラの属性を
次のコードは、属性ルートに追加され AboutController
達成します
使用してシステムを。
使用してMicrosoft.AspNetCore.Mvcを。名前空間HelloWorld.Controllers { [ルート( "約")] パブリッククラスAboutController { パブリックAboutController (){ } [ルート( "")] パブリック文字列電話(){ 戻り"10086" 。} [ルート( "国")] パブリック文字列国(){ リターン"中国" 。} } }
ここでは、与える Phone()
人のみアクセスする必要があることを意味属性を空のルーティング、追加する方法 /about
このメソッドにアクセスすることができ、操作を指定する必要なしに、。以下のため country
の方法、私たちは、ルーティングプロパティで指定します country
保存下では AboutController.cs
、ブラウザを更新して訪れ /about
、私たちは、電話番号の通常の出力を見ることができます
私たちが訪問した場合 /about/country
、これはアクセスする AboutController
コントローラ Country()
メソッドを
あなたには、いくつかのURLは、私たちのコントロールの名前が含まれている場合は、次に我々は、コントローラ、コントローラの名前を指定する代わりに、この場所でASP.NET MVCの使用を指示するために使用され、角括弧内のトークンを使用して、直接表示することはできませんこのコントローラの名前
次の手順に示すように、
使用してシステムを。
使用してMicrosoft.AspNetCore.Mvcを。名前空間HelloWorld.Controllers { [ルート( "[コントローラー] ")] パブリッククラスAboutController { パブリックAboutController (){ } [ルート("")] パブリック文字列電話(){ 戻り"10086" 。} [ルート( "[行動] ")] パブリック文字列国(){ リターン"中国" 。} } }
この方法では、我々はルータの名前を変更しても、ルートを変更する必要はありません。同じアクションのために、暗黙的制御と操作の間に真である(スラッシュを有します /
)。それはURLでやったように、コントローラとアクションの間の階層関係であります
もう一度、我々は保存し AboutController.cs
たファイルを、アプリケーションを再実行して、我々は同じ結果が表示されます
私たちが訪問した場合 /about/country
、これはアクセスする AboutController
コントローラ Country()
メソッドを