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>
  • 相关阅读:
    实时视频应用示例:监控与音乐教学
    im ui框架调研,对比
    WampServer 常见问题
    Android Studio xcode单步调试 WebRTC Android & iOS
    WebRTC 源码分析(五):安卓 P2P 连接过程和 DataChannel 使用
    归并排序的分析与Java实现
    Redis的数据类型
    使用Maven进行多模块拆分
    内容平台消息队列异步静态化实现
    ActiveMQ的应用实例
  • 原文地址:https://www.cnblogs.com/wangjinya/p/10654286.html
Copyright © 2011-2022 走看看