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>

  • 相关阅读:
    mysql官网下载链接——绿色版&安装版
    eclipse中去掉警告提示
    java用servlet、cookie实现一个阅读记录
    eclipse中的错误解决——Servlet cannot be resolved to a type
    eclipse——jsp字体设置
    eclipse——添加Tomcat7.0服务器
    eclipse中的错误解决——The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
    eclipse——JavaEE插件
    OpenMP用法大全
    __new__ __init__区别
  • 原文地址:https://www.cnblogs.com/liudehua/p/3398087.html
Copyright © 2011-2022 走看看