MVCはじめてみよう!と思ったけど、無駄に苦戦したのでメモっておきます。
#準備
###プロジェクトの追加
まずはプロジェクトの新規作成を、今回は「MVCDemo」でいきます。
###テンプレートの選択
テンプレートはEmptyを選択、MVCにチェックしてOKをクリックする。
###ファイル構成
プロジェクトを追加した直後は以下のような構成になっています。
今回、関係するのはRouteConfig.cs、Controllersフォルダ、Viewsフォルダです。
(Modelフォルダは追々)、
#ビューを表示する
###ルーティングの修正
RouteConfig.csを開いてみると以下のような内容のはずです。
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 = "Home",
action = "Index",
id = UrlParameter.Optional }
);
}
}
このままでもいいのですが意味もなく書き換えてみます。
controllerをHomeからFoo、actionをIndexからBarへ変更しました。
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 = "Foo",
action = "Bar",
id = UrlParameter.Optional }
);
}
}
###コントローラーの追加
次にControllersフォルダを右クリックし、「追加」から「コントローラ」を選択すると、以下の画面が表示されるので「MVC5コントローラー ― 空」を選択し「追加」をクリックします。
なお、追加した時点でViewsフォルダにFooフォルダが追加されます。
ファイル名を聞かれるので「FooController」に変更し「追加」をクリックします。
###コントローラーの編集
追加されたFooController.csは以下のようになっていると思いますのでIndexメソッドをBarメソッドに名称変更します。
public class FooController : Controller
{
//
// GET: /Foo/
public ActionResult Index()
{
return View();
}
}
public class FooController : Controller
{
//
// GET: /Foo/
public ActionResult Bar()
{
return View();
}
}
###ビューの追加
ViewsフォルダのFooフォルダを右クリックし、「追加」から「ビュー」をクリックすると以下の画面が表示されます。
ビュー名を「Bar」に変更し、追加します。
###ビューの修正
お尻に文言を追加します。
@{
ViewBag.Title = "Bar";
}
<h2>Bar</h2>
@{
ViewBag.Title = "Bar";
}
<h2>Bar</h2>
Hello MVC!!
###実行
Hello MVCが表示されます。
###URL
上記の表示は「/(ルート)」、「/Foo/Bar」いずれのURLでも表示できます。