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

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

関連記事

ASP.NETのMVCとは?入門者向けの概要説明やHelloWorld

<目次> (1) ASP.NETのMVCとは?入門者向けの概要説明やHelloWorld  (1-1) ASP.NET MVC5とは?  (1-2) MVCのアーキテクチャ概要  (1-3) ASP. …

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

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

no image

C#でコンソールにパスワード入力する際のマスキング処理の実装例のご紹介

  <目次> (1) C#でコンソールにパスワード入力する際のマスキング処理の実装例のご紹介  (1-1) 構文  (1-2) サンプルプログラム (1) C#でコンソールにパスワード入力す …

C#で配列に特定の値があるか?をチェックする方法を2つご紹介~ContainsとLINQ~

<目次> (1) C#で配列に特定の値があるか?をチェックする方法  (1-1) 方法①:ListクラスのContainsメソッドを使う方法   (1-1-1) 構文   (1-1-2) サンプルプロ …

Entity Frameworkのコードファーストとデータベースファーストの特徴や違いについて

  <目次> (1) Entity Frameworkのコードファーストとデータベースファーストの特徴や違いについて  (1-1) データベースファースト  (1-2) コードファースト   …

  • English (United States)
  • 日本語
Top