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

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

関連記事

SOAP通信の仕組みやHTTPプロトコルとの違いなど

  <目次> (1) SOAP通信の仕組みやHTTPプロトコルとの違いなど  (1-1) SOAPとは?  (1-2) SOAPを構成する要素  (1-3) SOAPの通信の仕組み&HTTP …

ASP.NETでビュー(View)に複数のモデル(Model)を連携する方法

  <目次> (1) ASP.NETでビュー(View)に複数のモデル(Model)を連携する方法  (1-1) やりたい事の整理  (1-2) ViewModelを使った複数モデルの連携 …

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

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

BundleConfig.csが読み込まれない場合の確認ポイントについて(ASP.NET)

  <目次> (1) BundleConfig.csが読み込まれない場合の確認ポイントについて(ASP.NET)  (1-1) 前提条件  (1-2) 確認ポイント   (確認①)Bundl …

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

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

  • English (United States)
  • 日本語
Top