ASP.NET MVC 3 RAZOR ViewBagへの代入と取出し
2012/05/06
ControllersでViewBagに文字列や配列とかを入れて、ViewsでViewBagを出力したい。
記述サンプル
文字列
代入:Controllersで「ViewBag.typeString = "すとりんぐねーむ";」。
出力:Viewsで「@ViewBag.typeString」
※「ViewBag.typeString」の「typeString」は任意でok。
出力:Viewsで「@ViewBag.typeString」
※「ViewBag.typeString」の「typeString」は任意でok。
数値
代入:Controllersで「ViewBag.typeInt = 123456;」。
出力:Viewsで「@ViewBag.typeInt」
※「ViewBag.typeInt」の「typeInt」は任意でok。
出力:Viewsで「@ViewBag.typeInt」
※「ViewBag.typeInt」の「typeInt」は任意でok。
配列
代入:Controllersで「ViewBag.typeList = new List<string>(){"りすと1", "りすと2", "りすと3"};」。
出力:Viewsで「@ViewBag.typeList[0]」、「@ViewBag.typeList[1]」、「@ViewBag.typeList[2]」
※「ViewBag.typeList」の「typeList」は任意でok。
出力:Viewsで「@ViewBag.typeList[0]」、「@ViewBag.typeList[1]」、「@ViewBag.typeList[2]」
※「ViewBag.typeList」の「typeList」は任意でok。
連想配列
代入:Controllersで「ViewBag.typeDictionary = new Dictionary<string, string>(){{"a1", "でぃくしょなりa1"}, {"b2", "でぃくしょなりb2"}, {"c3", "でぃくしょなりc3"}};」。
出力:Viewsで「@ViewBag.typeList["a1"]」、「@ViewBag.typeList["b2"]」、「@ViewBag.typeList["c3"]」
※「ViewBag.typeDictionary」の「typeDictionary」は任意でok。
出力:Viewsで「@ViewBag.typeList["a1"]」、「@ViewBag.typeList["b2"]」、「@ViewBag.typeList["c3"]」
※「ViewBag.typeDictionary」の「typeDictionary」は任意でok。
サンプルソース
とりあえず「Controllers/RazorController.cs」と「Views/Razor/rz001.cshtml」というファイルを用意
「Controllers/RazorController.cs」のソース
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.Mvc;
- namespace TestProject.Controllers
- {
- public class RazorController : Controller
- {
- public ActionResult Index()
- {
- return View();
- }
- public ActionResult rz001()
- {
- // 文字列
- ViewBag.typeString = "すとりんぐねーむ";
- // 数値
- ViewBag.typeInt = 123456;
- // 配列(List()を使う)
- ViewBag.typeList = new List<string>(){"りすと1", "りすと2", "りすと3"};
- // 連想配列?(Dictionary()を使う)
- ViewBag.typeDictionary = new Dictionary<string, string>(){{"a1", "でぃくしょなりa1"}, {"b2", "でぃくしょなりb2"}, {"c3", "でぃくしょなりc3"}};
- return View();
- }
- }
- }
「Views/Razor/rz001.cshtml」のソース
- @{
- ViewBag.Title = "ViewBagの表示";
- }
- <h2>@ViewBag.Title</h2>
- <h3>string</h3>
- <div>
- @ViewBag.typeString<br />
- </div>
- <h3>int</h3>
- <div>
- @ViewBag.typeInt<br />
- </div>
- <h3>List:配列系</h3>
- <div>
- @ViewBag.typeList[0]<br />
- @ViewBag.typeList[1]<br />
- @ViewBag.typeList[2]<br />
- </div>
- <h3>Dictionary:連想配列系</h3>
- <div>
- @ViewBag.typeDictionary["a1"]<br />
- @ViewBag.typeDictionary["b2"]<br />
- @ViewBag.typeDictionary["c3"]<br />
- </div>