| 443 | ==== モデルデータをコントローラがビューに渡す ==== |
| 444 | |
| 445 | モデルが出来上がりましたので、次はこのコードを呼び出して取り出したデータをビューに渡すコントローラのコードを書きましょう。コントローラの !HomeController.cs ファイルを開いてください。 |
| 446 | |
| 447 | まず、使用するモデルの名前空間にアクセスしやすいように、名前空間のショートカット名を宣言しましょう。ファイル先頭の `using` で始まる行の並びに、以下の行を追加します。 |
| 448 | |
| 449 | {{{#!cs |
| 450 | using sc = HelloWorld.Models.SmallCase; |
| 451 | }}} |
| 452 | |
| 453 | 次に、以前追加した `HemoController.Hello` メソッドに、以下のコードを記述します。 |
| 454 | |
| 455 | {{{#!cs |
| 456 | public ActionResult Hello() |
| 457 | { |
| 458 | var hw = new sc.HelloWorld(); |
| 459 | ViewBag.Hello = hw.Text; |
| 460 | |
| 461 | return View(); |
| 462 | } |
| 463 | }}} |
| 464 | |
| 465 | `HelloWorld` クラスインスタンスの生成で、 |
| 466 | |
| 467 | {{{#!cs |
| 468 | var hw = new HelloWorld.Moels.SmallCase.HelloWorld(); |
| 469 | }}} |
| 470 | |
| 471 | と書かずに済んだのは、その前に書いた `using` 行のおかげです。ただ、今回の例では名前空間のショートカット名はあまりにも短くしすぎてわかりづらいかもしれません。この辺も、ある程度は開発チーム内で命名規則を決めておいたほうがよいかもしれません。 |
| 472 | |
| 473 | 次の `ViewBag` は先程も出てきましたが、コントローラとビューの間でデータのやり取りをする際に使用する最も手っ取り早い手段の一つで、このオブジェクトには好きな名前のフィールドを作ってデータを放り込むことができるようになっています。放り込めるデータの型も、ある程度制限はありますが、割となんでも放り込めるようです。 |
| 474 | |
| 475 | |
| 476 | {{{#!cs |