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>

    本文代码部分转自:http://blog.csdn.net/a497785609/article/details/7854402

  • 相关阅读:
    MATLAB批量读入图片
    MATLAB小技巧
    Ubuntu下OpenCV不能被某个python版本识别
    切换Ubuntu系统python默认版本的方法
    LoadRunner内部结构(2)
    LoadRunner例子:检查点为参数的一个例子
    LoadRunner中字符串的操作
    LoadRunner脚本实例来验证参数化的取值
    LoadRunner编程之文件的操作
    LoadRunner关联函数的脚本实例--如何操作关联参数
  • 原文地址:https://www.cnblogs.com/q994321263/p/4076626.html
Copyright © 2011-2022 走看看