.net column

.NET開発者のためのブログメディア
アドレス

ASP.NET MVC Framework活用講座その1【ルーティング】

2020年03月30日

ASP.NET MVC Frameworkは、リクエスト内容であるURLに基づいて、実行されるプログラムが決定されるという仕組みとなっています。
この時、ルーティングという機能を使用することで、実行されるプログラムを切り替えることができますので方法を紹介します。

SE
指定したURL以外のプログラムを実行するには、どうしたら良いでしょうか?
PL
そういう場合は、ルーティングという機能を使用します。内容を一緒に確認しましょう。

指定したURL以外のプログラムを実行するルーティング機能

Webアプリケーションで画面を表示する際には、表示する画面のURLが指定されます。

下記のようなURLの形式です。
https://domain-name.com/Home/Index

MVC Frameworkでは、どのコントローラーのどのメソッドを実行するかは、指定されたURLを元に決定されます。

上記のURLでは、

  • ・controller = Home
  • ・action = Index

という指定になり、HomeControllerクラスのIndexメソッドが実行されます。

メソッドにパラメーターを付けることも可能です。

https://domain-name.com/Home/Index/3
上記のように、URLを指定すると、

このように、Indexメソッドにパラメーターを付けて実行することができます。

また、アクションは省略することが可能です。

https://domain-name.com/Home

上記のように、URLを指定するとHomeControllerクラスのIndexメソッドが実行されます。

上記のようにURLから、実行する処理を指定できる機能をルーティングと呼びます。

ルーティングでルートを設定する

Webアプリケーションではトップページにアクセスされた時、アプリケーションのルートにアクセスすることが多いため、ルートにアクセスされた時の設定方法を紹介します。

まずは、表示するページのコントローラーとビューを作成します。

コントローラーは以下のとおりです。

続いて、ビューは以下のとおりです。

上記のページを表示する際のURLは以下のとおりとなります。
https://domain-name.com/Top/Index

この時、ルーティングでルートの設定を行い、
https://domain-name.com

とアクセスされた場合も、上記のページが表示されるようにします。

ルーティングの設定を行うには、RouteConfig.csを修正します。

ルートのルーティングを設定しているのは、以下の部分です。

上記のように記述することで、ルートにアクセスされた際のコントローラーとアクションを指定することができます。

SE
ルーティングを設定することで、アクセス時の処理を指定できるんですね。
PL
そうですね。ルーティングは指定次第で様々な用途に使えるので、いろいろ試してみてください。

実行する処理を指定できるのがルーティング機能

ルーティングを使用することで、ルートアクセス時に実行するプログラムを指定することができました。
コントローラー、メソッドの指定だけでなく、パラメーターも指定でき、様々な用途に使用できます。様々な設定ができるので、ぜひ使ってみてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)