转自:http://www.cnblogs.com/gaopin/archive/2012/11/13/2767515.html

控制器向视图中传值ViewData详解

  1.将一个字符串传值到视图中

在action中我们将字符串保存在ViewData(或ViewBag [asp.net 3或以上才可用])中代码如下:

public ActionResult Index()
        {
            ViewData["str1"]= "这是一个字符串";

//也可以使用ViewBag来传递值

ViewBag.str2="这是另外一个字符串";

return View();
        }

在视图中我们可以用下面代码将字符串显示出来

<h1>@ViewData["str1"]</h1>

<h1>@ViewBag.str2</h1>

2.将一个字符串集合传递到视图中

public ActionResult Index()
        {
           List<string> str1= new List<string>();
            str1.Add("1111");
            str1.Add("2222");
            str1.Add("3333");
            ViewData["str"] = str1;

return View();
        }

在视图中我们通过下面语句将str1的值显示出来

@foreach (var a in ViewData["str"] as List<string>)
         {
           @a
         }

3.将一个datatable的值传递到视图中

public ActionResult Index()
            {

DataTable newtable = new DataTable("d");
            newtable.Columns.Add("商品编号", typeof(string));
            newtable.Columns.Add("客户编号", typeof(string));
            DataRow NewRow = newtable.NewRow();
            NewRow["商品编号"] = "132323213434";
            NewRow["客户编号"] = "344223443244";
            newtable.Rows.Add(NewRow);
            DataRow SNewRow = newtable.NewRow();
            SNewRow["商品编号"] = "343432445456";
            SNewRow["客户编号"] = "454523432453";
            newtable.Rows.Add(SNewRow);
            ViewData["dt"]= newtable;
            return View();
            }

在视图中我们通过下面语句将dt的值显示出来

注意:在顶部要先加上:@using System.Data;

<ul>
            @foreach(DataRow dr in (ViewData["dt"] as DataTable).Rows)
               {
                 <li>
                 @dr["商品编号"],@dr["客户编号"],
                 </li>
                }
              </ul>

asp.net MVC ViewData详解的更多相关文章

  1. Asp.Net Mvc 控制器详解

    理解控制器 控制器的角色 (1)中转作用:控制器通过前面的学习大家应该知道它是一个承上启下的作用,根据用户输入,执行响应行为(动 作方法),同时在行为中调用模型的业务逻辑,返回给用户结果(视图). ( ...

  2. ASP.NET MVC Route详解

    在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASPX引擎或者第三方的NVelocity模板引擎.Razor在减少代码冗余.增 ...

  3. asp.net Mvc 路由详解,非常详细.

    关于路由的理解 为什么要定义路由?路由的定义在开发中的工作量非常小,但是非常重要,因为任何请求都离不开路由. 各个电商网站的 URL 使用非常灵活,都离不开路由的定义,请大家参考几家电商的 URL 如 ...

  4. ASP.NET MVC 过滤器详解

    http://www.fwqtg.net/asp-net-mvc-%E8%BF%87%E6%BB%A4%E5%99%A8%E8%AF%A6%E8%A7%A3.html 我经历了过滤器的苦难,我想到了还 ...

  5. ASP.NET 运行时详解 揭开请求过程神秘面纱

    对于ASP.NET开发,排在前五的话题离不开请求生命周期.像什么Cache.身份认证.Role管理.Routing映射,微软到底在请求过程中干了哪些隐秘的事,现在是时候揭晓了.抛开乌云见晴天,接下来就 ...

  6. ASP.NET生命周期详解

    最近一直在学习ASP.NET MVC的生命周期,发现ASP.NET MVC是建立在ASP.NET Framework基础之上的,所以原来对于ASP.NET WebForm中的很多处理流程,如管道事件等 ...

  7. ASP.NET生命周期详解 [转]

    最近一直在学习ASP.NET MVC的生命周期,发现ASP.NET MVC是建立在ASP.NET Framework基础之上的,所以原来对于ASP.NET WebForm中的很多处理流程,如管道事件等 ...

  8. ASP.NET生命周期详解(转)

    看到好文章需要分享. 最近一直在学习ASP.NET MVC的生命周期,发现ASP.NET MVC是建立在ASP.NET Framework基础之上的,所以原来对于ASP.NET WebForm中的很多 ...

  9. MVC过滤器详解

    MVC过滤器详解   APS.NET MVC中(以下简称"MVC")的每一个请求,都会分配给相应的控制器和对应的行为方法去处理,而在这些处理的前前后后如果想再加一些额外的逻辑处理. ...

随机推荐

  1. css 设置样式

    前台div <div id="DIV1" runat="server" > </div> 后台: this.DIV1.Style.Val ...

  2. 关于linux python vim的一些基础知识(很零散)

    清空文件夹filenmae下所有文件 rm filename/* vim复制大量代码段 num+yy 从光标起始处复制num个数行 然后 python: 设置中断 1.from IPython imp ...

  3. UI Automation 简介

    转载,源地址: http://blog.csdn.net/ffeiffei/article/details/6637418 MS UI Automation(Microsoft User Interf ...

  4. 基于tcpdump实例讲解TCP/IP协议

    前言 虽然网络编程的socket大家很多都会操作,但是很多还是不熟悉socket编程中,底层TCP/IP协议的交互过程,本文会一个简单的客户端程序和服务端程序的交互过程,使用tcpdump抓包,实例讲 ...

  5. js基础知识(pomelo阅读)

    0,node.js调试: http://www.noanylove.com/2011/12/node-the-inspector-debugging-node-js/   1,读取配置文件: var ...

  6. jqueryIFrame框架内元素操作

    //获取框架内元素 $(document.getElementById('main').contentWindow.document.body).find("#txtRD_Num" ...

  7. C#裁剪照片并保存

    /// <summary>    ///     /// </summary>    /// <summary>    /// 生成缩略图    /// </ ...

  8. 图像质量评价指标之Matlab实现

    在图像处理算法研究中,很多时候需要有客观评价指标来对算法的性能进行评价. 比如,在图像复原.图像滤波算法研究中,需要采用客观评价指标来定量的来测试算法恢复出的图像相对于参考图像的好坏程度. 本文介绍文 ...

  9. android listview去掉分割线

    1:android listview去掉分割线 1>设置android:divider="@null" 2>android:divider="#0000000 ...

  10. centos6.3 + db2v9.7的数据库移行

    工作内容如题,我要做的事情大体如下: 1,正确备份可用数据库: 2,安装64位的cent os 6.3: 3,将1备份的数据恢复到新的cent os 6.3系统上. 第一件事情,就是备份一个可用的数据 ...