• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

cynchanpin

  • 博客园
  • 联系
  • 订阅
  • 管理

View Post

MVC中数据传递 ViewBag的使用

ViewBag

MVC3中 ViewBag、ViewData和TempData的使用和差别

在MVC3開始。视图数据能够通过ViewBag属性訪问。在MVC2中则是使用ViewData。MVC3中保留了ViewData的使用。ViewBag 是动态类型(dynamic),ViewData 是一个字典型的(Dictionary)。

ViewBag和ViewData的差别:
ViewBag 不再是字典的键值对结构。而是 dynamic 动态类型。它会在程序执行的时候动态解析。

所以在视图中获取它的数据时候不须要进行类型转换

ViewData ViewBag
它是Key/Value字典集合 它是dynamic类型对像
从Asp.net MVC 1 就有了 ASP.NET MVC3 才有
基于Asp.net 3.5 framework 基于Asp.net 4.0与.net framework
ViewData比ViewBag快 ViewBag比ViewData慢
在ViewPage中查询数据时须要转换合适的类型 在ViewPage中查询数据时不须要类型转换
有一些类型转换代码 可读性更好

Contorller

<pre class="csharp" name="code">using NewOjbect.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace NewOjbect.Controllers
{
    public class HomeController : Controller
    {      
        public ActionResult Index()
        {
            ViewBag.UserName = "无盐海";
            ViewBag.Age = "25";
            ViewBag.Gender = 1;

            string[] Itmes = new string[] { "中国", "美国", "德国" };
            ViewBag.itemsA = Itmes;// viewbag是一个新的dynamic类型keyword的封装器 //ViewData["Items"] = items;
			
            return View();                 
        }
    }
}


View

<pre class="html" name="code"><html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Test2</title>
</head>
<body>
    <div>
        username:<input type="text" id="UserName" name="UserName" value="@ViewBag.UserName" /></br>

        年  龄: <input type="text" id="age" name="age" value=@ViewBag.Age /></br>

        性  别:<input type="text" id="Gender" name="Gender" value="@ViewBag.Gender" /></br>

        <button>提交</button>

        <!---这里输出国家名-->>
        @foreach (dynamic item in ViewBag.itemsA)
        {
            <p>@item</p>
        }
    </div>
</body>
</html>






posted on 2017-06-22 15:08  cynchanpin  阅读(40810)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3