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

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

関連記事

Entity Frameworkとは?概要や仕組みについて

  <目次> (1) Entity Frameworkとは?概要や仕組みについて  (1-1) Entity Frameworkとは?  (1-2) オブジェクトとテーブルが1:1対応しない …

VisualStudioで文字列の検索をソリューション内やプロジェクト内で行う方法

<目次> (1) VisualStudioで文字列の検索をソリューション内やプロジェクト内で行う方法  (1-1) 検索方法   (1-1-1) 「検索と置換」画面を開く   (1-1-2) 検索条件 …

Xamarin.Formsのプロジェクトを新規作成する手順

<目次> (1) Xamarin.Formsのプロジェクトを新規作成する手順  (1-1) Xamarin.Formsプロジェクトの作成   (1-1-1) プロジェクト新規作成   (1-1-2) …

ASP.NETのActionResultの戻り値の種類について

  <目次> (1) ASP.NETのActionResultの戻り値の種類について  (1-1) はじめに  (1-2) ASP.NETのActionResultの戻り値の種類  (1-3 …

ASP.NETの単体テストプロジェクトを新規に作成する方法

<目次> (1) ASP.NETの単体テストプロジェクトを新規に作成する方法  (1-1) ASP.NET MVCにおける単体テスト機能について  (1-2) ASP.NET MVCにおける単体テスト …

  • English (United States)
  • 日本語
Top