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) …

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

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

ソフトウェアをインストールするバッチプログラムのご紹介

  <目次> (1) ソフトウェアをインストールするバッチプログラムのご紹介  (1-1) 概要  (1-2) 構文  (1-3) サンプルプログラム  (1-4) (応用)プロキシサーバが …

ASP.NETのbootstrapとは?概要と入手・適用方法のご紹介

  <目次> (1) ASP.NETのbootstrapとは?概要と入手・適用方法のご紹介  (1-1) bootstrapとは?  (1-2) bootstrapの入手方法~プロジェクトへ …

C#のabstract(抽象クラス)とは?継承やoverrideの手順や使い方をご紹介

<目次> (1) C#の抽象クラスやabstractとは?意味や使い方をご紹介  (1-1) 抽象クラスとは?  (1-2) 抽象クラスの使い方   (1-2-1) 抽象クラスの定義   (1-2-2 …

  • English (United States)
  • 日本語
Top