.NET開発者のためのブログメディア
ASP.NET MVC Framework活用講座その1【ルーティング】
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を指定すると、
1
|
HomeController.Index(3)
|
このように、Indexメソッドにパラメーターを付けて実行することができます。
また、アクションは省略することが可能です。
https://domain-name.com/Home
上記のように、URLを指定するとHomeControllerクラスのIndexメソッドが実行されます。
上記のようにURLから、実行する処理を指定できる機能をルーティングと呼びます。
ルーティングでルートを設定する
Webアプリケーションではトップページにアクセスされた時、アプリケーションのルートにアクセスすることが多いため、ルートにアクセスされた時の設定方法を紹介します。
まずは、表示するページのコントローラーとビューを作成します。
コントローラーは以下のとおりです。
1
2
3
4
5
6
7
|
public class TopController : Controller
{
public ActionResult Index()
{
return View();
}
}
|
続いて、ビューは以下のとおりです。
1
2
3
|
<h2>Index</h2>
TopControllerのIndexページ
|
上記のページを表示する際のURLは以下のとおりとなります。
https://domain-name.com/Top/Index
この時、ルーティングでルートの設定を行い、
https://domain-name.com
とアクセスされた場合も、上記のページが表示されるようにします。
ルーティングの設定を行うには、RouteConfig.csを修正します。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Top", action = "Index", id = UrlParameter.Optional }
);
}
}
|
ルートのルーティングを設定しているのは、以下の部分です。
10
|
defaults: new { controller = "Top", action = "Index", id = UrlParameter.Optional }
|
上記のように記述することで、ルートにアクセスされた際のコントローラーとアクションを指定することができます。
- SE
- ルーティングを設定することで、アクセス時の処理を指定できるんですね。
- PL
- そうですね。ルーティングは指定次第で様々な用途に使えるので、いろいろ試してみてください。
実行する処理を指定できるのがルーティング機能
ルーティングを使用することで、ルートアクセス時に実行するプログラムを指定することができました。
コントローラー、メソッドの指定だけでなく、パラメーターも指定でき、様々な用途に使用できます。様々な設定ができるので、ぜひ使ってみてください。
Search キーワード検索
Popular 人気の記事
-
【VB.NET入門】DataGridViewの使い方まとめ
公開: 更新:
reccomended おすすめ記事
-
【.NETが統合】.NET 5の概要と今後のリリース予定
公開: 更新:
Categories 連載一覧
Tags タグ一覧
Jobs 新着案件
-
開発エンジニア/東京都品川区/【WEB面談可】/在宅ワーク
月給29万~30万円東京都品川区(大崎駅) -
遠隔テストサービス機能改修/JavaScript/東京都港区/【WEB面談可】/テレワーク
月給45万~60万円東京都港区(六本木駅) -
病院内システムの不具合対応、保守/東京都豊島区/【WEB面談可】/テレワーク
月給30万~30万円東京都豊島区(池袋駅) -
開発/JavaScript/東京都豊島区/【WEB面談可】/テレワーク
月給50万~50万円東京都豊島区(大塚駅) -
債権債務システム追加開発/東京都文京区/【WEB面談可】/在宅勤務
月給62万~67万円東京都文京区(後楽園駅)