Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

ASP.NET C#

ASP.NETのViewBagとは?構文やサンプルプログラムもご紹介

投稿日:2021年6月27日 更新日:

 

<目次>

(1) ASP.NETのViewBagとは?構文やサンプルプログラムもご紹介
 (1-1) 概要
 (1-2) 構文
 (1-3) サンプルプログラム

(1) ASP.NETのViewBagとは?構文やサンプルプログラムもご紹介

(1-1) 概要

ViewBagは「ビュー変数」とも呼ばれ、ASP.NET MVCにおけるViewBagはモデル(Model)に含まれない「一時的なデータ」をController⇒Viewに連携する目的で使用します。

内部的にはControllerのベースとなる「ControllerBaseクラス」内のdynamic型のプロパティで、次のようなイメージになります。
 
(図111)

目次にもどる

(1-2) 構文

●Controller側

ViewBagに対して、次のように値をセットします。変数の名前は命名規則に沿う範囲で自由に命名可能です。

ViewBag.変数名 = 設定値;

目次にもどる

●View側

HTML中の値を埋め込む箇所にて次のように記述します。

@ViewBag.変数名

目次にもどる

(補足)もう1つの表記方法について

ViewBagには同じ意味の別の書き方があり、次の「ViewData」クラスを記述する事も可能です。

●Controller側
ViewData[“変数名”] = 設定値;

目次にもどる

●View側
@ViewData[“変数名”]

目次にもどる

(1-3) サンプルプログラム

(1-3-1) Index.cshtml
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>ViewBag Test</title>
</head>
<body>
    <div>HelloWorld</div>
    <div>@ViewBag.Name1</div>
    <div>@ViewData["Name2"]</div>
</body>
</html>

(図131)

目次にもどる

(1-3-2) Controller

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MVCTest.Controllers
{
  public class HomeController : Controller
  {
    // GET: Home
    public ActionResult Index()
    {
      ViewBag.Name1 = "abcdefg";
      ViewData["Name2"] = "hijklmn";
      return View();
    }
  }
}

 

(図132)

<実行結果>
・ControllerでセットしたViewBagの値が正しく取得出来ている事が確認できます。

(図133)

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-ASP.NET, C#

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

.NETで「SystemInvalidOperationException」例外(ZombieCheck、Rollback)の調査記録

<目次> (1) .NETで「SystemInvalidOperationException」例外(ZombieCheck、Rollback)の調査記録  (1-1) エラーメッセージ  (1-2) …

C#のintに?「はてな」(question mark)が付いている意味について

<目次> (1) C#のintに?「はてな」(question mark)が付いている意味について  (1-1) 「int?」とは?  (1-2) 「int?」の型について  (1-3) 「int?」 …

ASP.NETの既存プロジェクトに単体テストプロジェクトを追加する手順

<目次> (1) ASP.NETの既存プロジェクトに単体テストプロジェクトを追加する手順  (1-1) 新規プロジェクトを作成  (1-2) 参照の追加  (1-3) 単体テスト用のコードの記述  ( …

ASP.NETのRazor入門~Razorとは?や使い方をご紹介

<目次> (1) ASP.NETのRazor入門~Razorとは?や使い方をご紹介  (1-1) Razorとは?  (1-2) 基本構文  (1-3) サンプルプログラム (1) ASP.NETのR …

C#で型をStringからintに変更する方法~TryParseメソッドによる型変換~

<目次> (1) C#で型をStringからintに変更する方法  (1-1) 構文  (1-2) サンプルプログラム  (1-3) プログラム補足「'{0}’や'{1}’」に …

  • English (United States)
  • 日本語
Top