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

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

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcApplication1.Models;
using System.Text;
namespace MvcApplication1.Controllers
{
public class UserInfoController : Controller
{
// GET: /UserInfo/
public ActionResult Index()
{
wangjin2Entities1 db = new wangjin2Entities1();
var userinfolist = db.Userinfo.Where<Userinfo>
(u => true);
StringBuilder sb = new StringBuilder();
foreach (var userinfo in userinfolist)
{
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());
}
//控制器向视图传数据
ViewData["userinfolist"]=sb.ToString();
return View();
//方法
}
}
}

1.1 视图代码

 <body>
<div>
<table>
<tr><th>ID</th><th>用户名</th><th>密码</th><th>邮箱</th><th>创建日期</th></tr>
<%=ViewData["userinfolist"] %>
</table>
</div>
</body>

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

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcApplication1.Models;
using System.Text;
namespace MvcApplication1.Controllers
{
public class UserInfoController : Controller
{
// GET: /UserInfo/
public ActionResult Index()
{
wangjin2Entities1 db = new wangjin2Entities1();
var userinfolist = db.Userinfo.Where<Userinfo>
(u => true);
ViewData["userinfolist"] =userinfolist;
return View();
}
}
}

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

 <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<%@ Import Namespace="MvcApplication1.Models" %>
<!DOCTYPE html> <html>
<head runat="server">
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
<table>
<tr><th>ID</th><th>用户名</th><th>密码</th><th>邮箱</th><th>创建日期</th></tr>
<%-- <%=ViewData["userinfolist"] %>--%>
<%foreach( var userinfo in (IQueryable<Userinfo>)ViewData["userinfolist"]) {%>
<tr>
<td><%=userinfo.Id %></td>
<td><%=userinfo.username %></td>
<td><%=userinfo.password %></td>
<td><%=userinfo.Emil %></td>
<td><%=userinfo.CreateDate.ToShortDateString() %></td>
</tr>
<%} %>
</table>
</div>
</body>
</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. C++中static_cast和dynamic_cast强制类型转换

    在C++标准中,提供了关于类型层次转换中的两个关键字static_cast和dynamic_cast. 一.static_cast关键字(编译时类型检查) 用法:static_cast < ty ...

  2. Context initialization failed

    Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: Invali ...

  3. AdminLTE模板使用

    AdminLTE介绍: AdminLTE是一款建立在bootstrap和jquery之上的开源的模板主题工具,它提供了一系列响应的,可重复使用的组件,并内置了多个模板页面;同时自适应多种屏幕分辨率,兼 ...

  4. Python+selenium点击网页上指定坐标

    from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains dr = ...

  5. pyglet player sound

    Player = pyglet.media.Player() # our event handling function def on_eos(): print("on player eos ...

  6. Tsung压力测试工具安装使用

    工具安装 1)unixODBC ./configure; make; make install 或者yum安装 2)ncurses-devel ./configure; make; make inst ...

  7. 【Python047-魔法方法:定制序列】

    一.协议是什么 1.协议(protocols)与其他编程语言中的接口很相似,它规定你那些方法必须要定义.然而在Python中协议就显的不那么正式,事实上,在Python中,协议更像是一种指南 2.容器 ...

  8. 标签无效 "/zabbix_export/date": "YYYY-MM-DDThh:mm:ssZ" 预计。

    Centos7.5 使用导入percona模板的时候报错 百度给的解决方案是 将zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1. ...

  9. django使用session缓存Redis

    首先安装redis包 pip install django-redis-sessions 然后在settings中设置 SESSION_ENGINE = 'redis_sessions.session ...

  10. 快速自动安装dart

    @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat Non ...