一、控制器向视图传递参数的两种形式:使用到的技术有EF,linq表达式,StringBuilder,相关技术都可以在我的博客园中找到详细的技术介绍。

1. 第一种是通过字符通过foreach循环拼接将table标签里的td放在一个StringBuilder中,然后通过ViewData传递给视图文件。以下就是相关代码

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Mvc;
  6. using MvcApplication1.Models;
  7. using System.Text;
  8. namespace MvcApplication1.Controllers
  9. {
  10. public class UserInfoController : Controller
  11. {
  12. // GET: /UserInfo/
  13. public ActionResult Index()
  14. {
  15. wangjin2Entities1 db = new wangjin2Entities1();
  16. var userinfolist = db.Userinfo.Where<Userinfo>
  17. (u => true);
  18. StringBuilder sb = new StringBuilder();
  19. foreach (var userinfo in userinfolist)
  20. {
  21. sb.AppendFormat("<tr><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td><td>{4}</td></tr>", userinfo.Id, userinfo.username, userinfo.password, userinfo.Emil, userinfo.CreateDate.ToShortDateString());
  22. }
  23. //控制器向视图传数据
  24. ViewData["userinfolist"]=sb.ToString();
  25. return View();
  26. //方法
  27. }
  28. }
  29. }

1.1 视图代码

  1. <body>
  2. <div>
  3. <table>
  4. <tr><th>ID</th><th>用户名</th><th>密码</th><th>邮箱</th><th>创建日期</th></tr>
  5. <%=ViewData["userinfolist"] %>
  6. </table>
  7. </div>
  8. </body>

2. 第二种是直接将EF查到的数据传递给前端页面,但是前端接收的时候就需要对数据进行处理。代码如下

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Mvc;
  6. using MvcApplication1.Models;
  7. using System.Text;
  8. namespace MvcApplication1.Controllers
  9. {
  10. public class UserInfoController : Controller
  11. {
  12. // GET: /UserInfo/
  13. public ActionResult Index()
  14. {
  15. wangjin2Entities1 db = new wangjin2Entities1();
  16. var userinfolist = db.Userinfo.Where<Userinfo>
  17. (u => true);
  18. ViewData["userinfolist"] =userinfolist;
  19. return View();
  20. }
  21. }
  22. }

2.1 前端代码中需要用到导入命名空间,并且将数据强转成IQueryable。具体代码如下:

  1. <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
  2. <%@ Import Namespace="MvcApplication1.Models" %>
  3. <!DOCTYPE html>
  4.  
  5. <html>
  6. <head runat="server">
  7. <meta name="viewport" content="width=device-width" />
  8. <title>Index</title>
  9. </head>
  10. <body>
  11. <div>
  12. <table>
  13. <tr><th>ID</th><th>用户名</th><th>密码</th><th>邮箱</th><th>创建日期</th></tr>
  14. <%-- <%=ViewData["userinfolist"] %>--%>
  15. <%foreach( var userinfo in (IQueryable<Userinfo>)ViewData["userinfolist"]) {%>
  16. <tr>
  17. <td><%=userinfo.Id %></td>
  18. <td><%=userinfo.username %></td>
  19. <td><%=userinfo.password %></td>
  20. <td><%=userinfo.Emil %></td>
  21. <td><%=userinfo.CreateDate.ToShortDateString() %></td>
  22. </tr>
  23. <%} %>
  24. </table>
  25. </div>
  26. </body>
  27. </html>

MVC数据列表展示【三】的更多相关文章

  1. Android数据列表展示之 RecylerView

    一.概述 1.RecyclerView是什么? RecyclerView是一种新的视图组,目标是为任何基于适配器的视图提供相似的渲染方式.该控件用于在有限的窗口中展示大量数据集,它被作为ListVie ...

  2. salesforce lightning零基础学习(七) 列表展示数据时两种自定义编辑页面

    上一篇Lightning内容描述的是LDS,通过LDS可以很方便的实例化一个对象的数据信息.当我们通过列表展示数据需要编辑时,我们常使用两种方式去处理编辑页面:Pop Up Window弹出修改详情以 ...

  3. django学习-27.admin管理后台里:对列表展示页面的数据展示进行相关优化

    目录结构 1.前言 2.完整的操作步骤 2.1.第一步:查看ModelAdmin类和BaseModelAdmin类的源码 2.2.第二步:查看表animal对应的列表展示页面默认的数据展示 2.3.第 ...

  4. .net MVC中使用angularJs刷新页面数据列表

    使用angularjs的双向绑定功能,定时刷新页面上数据列表(不是刷新网页,通过ajax请求只刷新数据列表部分页面),实例如下: @{ Layout = null; } <!DOCTYPE ht ...

  5. .NET MVC 学习笔记(三)— MVC 数据显示

    . NET MVC 学习笔记(三)—— MVC 数据显示 在目前做的项目中,用的最多的数据展示控件就是table展示(说不是的请走开,不是一路人),以下详细阐述下table的使用方法. 先看效果: 上 ...

  6. [译]MVC网站教程(三):动态布局和站点管理

    目录 1.   介绍 2.   软件环境 3.   在运行示例代码之前(源代码 + 示例登陆帐号) 4.   自定义操作结果和控制器扩展 1)   OpenFileResult 2)   ImageR ...

  7. 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递

    通过第一天的学习之后,我们相信您已经对MVC有一些基本了解. 本节所讲的内容是在上节的基础之上,因此需要确保您是否掌握了上一节的内容.本章的目标是在今天学习结束时利用最佳实践解决方案创建一个小型的MV ...

  8. [译]学习IPython进行交互式计算和数据可视化(三)

    第二章 在本章中,我们将详细学习IPython相对以Python控制台带来的多种改进.特别的,我们将会进行下面的几个任务: 从IPython中使用系统shell以在shell和Python之间进行强大 ...

  9. 在GridControl表格控件中实现多层级主从表数据的展示

    在一些应用场景中,我们需要实现多层级的数据表格显示,如常规的二级主从表数据展示,甚至也有多个层级展示的需求,那么我们如何通过DevExpress的GridControl控表格件实现这种业务需求呢?本篇 ...

随机推荐

  1. 发布webservice服务

    1,定义一个接口 public interface HaiService { //定义一个方法 String speak(String str); } 2,编写一个实现类 import javax.j ...

  2. lucene 全文检索工具的介绍

    Lucene:全文检索工具:这是一种思想,使用的是C语言写出来的 1.Lucene就是apache下的一个全文检索工具,一堆的jar包,我们可以使用lucene做一个谷歌和百度一样的搜索引擎系统 2. ...

  3. Linux 系统下安装 python-skimage

    Linux 系统下安装 python-skimage 安装必须的依赖 // python-mumpy // python-scipy // python-matplotlib $ sudo apt-g ...

  4. k8s API sample

    Declarative API k8s: cluster-api Introduction to Kubernetes Cluster-API Project Declarative Manageme ...

  5. nagios监控oracle 表空间

    oracle表空间满的危害以及处理方式见我的博客链接https://www.cnblogs.com/-abm/p/9764803.html 除此之外我们还需要对表空间实时监控,这样就可以及时了解表空间 ...

  6. AnswerOpenCV一周佳作欣赏(0615-0622)

    一.How to make auto-adjustments(brightness and contrast) for image Android Opencv Image Correction i' ...

  7. halcon+csharp多图像拼接实现

    简单的来说,就是将 一类的图片最后拼接成为这样的结果 这个图片有点大呀. 基本步骤: 1.halcon进行仿射变化进行镜头畸变.这个可以参考halcon中一个二维码畸变的例子: 2.基于模版匹配找出偏 ...

  8. 18种CSS3loading效果完整版

    今天把之前分享的两篇博客<CSS3实现10种Loading效果>和 <CSS3实现8种Loading效果[二]>整理了一下.因为之前所分享的各种loading效果都只是做了we ...

  9. Codeforces 868D Huge Strings - 位运算 - 暴力

    You are given n strings s1, s2, ..., sn consisting of characters 0 and 1. m operations are performed ...

  10. 数据库 --- 4 多表查询 ,Navicat工具 , pymysql模块

    一.多表查询 1.笛卡儿积 查询 2.连接 语法: ①inner    显示可构成连接的数据 mysql> select employee.id,employee.name,department ...