zoukankan      html  css  js  c++  java
  • mvc中viewdata 和viewbag的区别

    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中查询数据时不需要类型转换 
    有一些类型转换代码                                                                              可读性更好 

    用代码说明问题:

    后台:

    ViewData:
    List<string> colors = new List<string>();
    colors.Add("red");
    colors.Add("green");
    colors.Add("blue");
    ViewData["listColors"] = colors;
    ViewData["dateNow"] = DateTime.Now;
    ViewData["name"] = "Hajan";
    ViewData["age"] = 25;
    return View();


    ViewBag:
    List<string> colors = new List<string>();
    colors.Add("red");
    colors.Add("green");
    colors.Add("blue");
    ViewBag.ListColors = colors; 
    ViewBag.DateNow = DateTime.Now;
    ViewBag.Name = "Hajan";
    ViewBag.Age = 25;
    return View(); 

    前台:

    ViewData:
    <p>My name is <b>@ViewData["name"] </b>,<b>@ViewData["age"] </b>years old.<br />I like the following colors:</p>

    <ul id="colors">@foreach (var color in ViewData["listColors"] as List<string>)
    {
    <li><font color="@color">@color </font></li>
    }
    </ul>

    <p>@ViewData["dateNow"]</p>

    ViewBag:
    <p>My name is <b>@ViewBag.Name</b>, <b>@ViewBag.Age</b> years old.<br />I like the following colors:</p>

    <ul id="colors">
    @foreach (var color in ViewBag.ListColors)
    {
    <li><font color="@color">@color</font> </li>
    }
    </ul>

    <p>@ViewBag.DateNow</p>

  • 相关阅读:
    git 相关
    3D渲染相关基本概念
    c#调用GDAL判断图片文件是否损坏
    8.26 轩然大波
    宽容与未来
    vue学习:打开/刷新一个页面时,触发一个后端请求
    linux histroy显示时间
    从数的角度理解视角转换
    对非法网站的一次提权
    简单的BC站点getshell
  • 原文地址:https://www.cnblogs.com/liudehua/p/3398087.html
Copyright © 2011-2022 走看看