zoukankan      html  css  js  c++  java
  • MVC数据列表展示【三】

    一、控制器向视图传递参数的两种形式:使用到的技术有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>
  • 相关阅读:
    单片机第11课:串口通信查询方式---从计算机接受数据
    Android(Lollipop/5.0) Material Design(四) 创建列表和卡片
    智能指针
    [ACM] ural 1057 Amount of degrees (数位统计)
    vs2008,2010,2012安装包下载
    《智能主义》:360未来5年的方向是物联网安全与安全硬件。3星。
    《近视怎么办》:三甲医院眼科医生的科普。4星
    《当黑天鹅坐上无人车》。耐药性的蔓延是“公地悲剧”的例子之一;负责的人看不到造成的损失。3星
    《特朗普经济学》:考虑到全球供应链的新世界,征收关税就像在工厂中央竖起一堵墙。3星。
    《互联网大败局》:3星。10多年来中国互联网失败案例的公开资料汇编。
  • 原文地址:https://www.cnblogs.com/wangjinya/p/10654286.html
Copyright © 2011-2022 走看看