ASP.NETで初めてのWEBアプリを作ってみた(1)
ASP.NETを使ってWEBアプリを作ったことがない。とりあえず簡単なWEBくらいは作りたいので、ASP.NETで作ってみます。あとで忘れないようにメモしておきます。
ASP.NETではページではなくコントローラーと呼ぶらしい。
まずは、プロジェクトのControllersフォルダにコントロールを追加する。
現れた画面で、MVCコントールクラスを選んで、名前を「TestController.cs」と付ける。
続いて、Viewsフォルダの下にTestフォルダを作る。
作ったTestフォルダに、ビューを追加する。
現れた画面で「MVC ビューページ」を選んで、名前はindex.cshtmlのままで追加する。
VisualStudioの画面に追加したビューのコード画面が表示されるので、末尾に適当にテキストを追加する。HTMLで書きます。
これで、デバッグ実行をして「http://localhost:99999/Test」とURLに入力すると、先ほど作ったページが表示される。
これにて、新しいページを追加する作業は完了。
わからないことは多いけれど、ページを追加するときはコントローラーとビューを作ればよいらしい。
コントローラに Test01 メソッドを追加するとよいらしい。
先ほど作ったTestContorollerにTest01メソッドを追加する。Indexメソッドをコピーして名前を変えればOK。
そして、View/Testフォルダに新しいビューを追加する。
VisualStudio2015で始める
新規プロジェクトでwebカテゴリから「ASP.NET WEBアプリケーション」を選ぶ。このとき.NETフレームワークは4.6.1以上を選んでおく。
すると下記の画面が開く。下の方の「ASP.NET 5 テンプレート」というのが表示されないときは、元に戻って、.NETフレームワークのバージョンを確認すること。
すると下記の画面が開く。下の方の「ASP.NET 5 テンプレート」というのが表示されないときは、元に戻って、.NETフレームワークのバージョンを確認すること。
ここは「Web Application」を選んでみる。右側の「クラウドにホストする」はAzureに公開するためのものらしいので、最初に作るWEBなので用心して外しておく。あとはフォルトのまま何も触らず行ってみる。
なかなかきれいで良い感じ。
ここまでは、何もしていないのと同じ。次はWEBサイトにページを追加してみよう。
するとプロジェクトが作られるのだが、これが時間がかかる。15分くらい待たされた。私のパソコンの問題かもしれないが、とにかく遅い。
プロジェクトができると、サンプルのWEBサイトもできてる。デバッグ実行してみると、、、エラーになる。どうも依存関係のパッケージがインストールされていないらしい。試しにビルドしてみると、自動でパッケージをダウンロードしてインストールしてくれるようだ。しかし、これも時間がかかる。
時間がかかるのは最初の1回だけだろうと思う。
もう一度デバッグ実行してみると、ブラウザが起動してWEBサイトの画面が表示される。
ここまでは、何もしていないのと同じ。次はWEBサイトにページを追加してみよう。
ページ「/Test」を追加する
新しいページを追加してみよう。「http://localhost:99999/Test/」というURLで表示するページを作る。WEBサイトなら、Testというフォルダを作って、その中にindex.htmlというファイルを置けばよいのだけど、ASP.NETではどうするのか?ASP.NETではページではなくコントローラーと呼ぶらしい。
まずは、プロジェクトのControllersフォルダにコントロールを追加する。
現れた画面で、MVCコントールクラスを選んで、名前を「TestController.cs」と付ける。
続いて、Viewsフォルダの下にTestフォルダを作る。
作ったTestフォルダに、ビューを追加する。
VisualStudioの画面に追加したビューのコード画面が表示されるので、末尾に適当にテキストを追加する。HTMLで書きます。
これで、デバッグ実行をして「http://localhost:99999/Test」とURLに入力すると、先ほど作ったページが表示される。
これにて、新しいページを追加する作業は完了。
わからないことは多いけれど、ページを追加するときはコントローラーとビューを作ればよいらしい。
ページ「/Test/Test01」を追加する
WEBサイトならTestフォルダの中にTest01.htmlファイルを置けばページが追加される。では、ASP.NETではどうするのか?コントローラに Test01 メソッドを追加するとよいらしい。
先ほど作ったTestContorollerにTest01メソッドを追加する。Indexメソッドをコピーして名前を変えればOK。
namespace WebApplication2.Controllers { public class TestController : Controller { // GET: /<controller>/ public IActionResult Index() { return View(); } public IActionResult Test01() { return View(); } } }
そして、View/Testフォルダに新しいビューを追加する。
そしてデバッグ実行して、URLに /Test/Test01 を入力するとページが表示される。
2階層はできたが、/Test/Test01/Test02 のように3階層のページはどうすればよいの?と疑問がわくが、今は悩まないことにする。
次はページの書き方についてまとめたい。続きます。
コメント
コメントを投稿