ASP.NET MVCことはじめ
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でも表示できます。
Author And Source
この問題について(ASP.NET MVCことはじめ), 我々は、より多くの情報をここで見つけました https://qiita.com/atatago/items/b54688066bdc5b1b4f07著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .