MVC5 学习笔记2

写的比较散乱 主要记录一下自己的心得 备忘

这篇介绍如何将EF进行多表查询的结果返回到视图上去 用的是帮"留级"好友毕设的代码(大数据的时候 还是不要讲的太清楚 慌得要死)

Controller

这里除了用EF进行多表查询以外 用了分页 分页需要在NuGet中添加引用using PagedList;

 1 public ActionResult Couriner(int? page)
 2 {
 3     using (DbEntities context = new DbEntities())
 4     {
 5         //获取Context
 6         var couriner = from c in context.T_Couriner
 7               join area in context.T_Area
 8               on c.Area_Id equals area.Id
 9               select new V_Couriner
10               {
11                   Couriner_Acc = c.Couriner_Acc,
12                   Couriner_Pwd = c.Couriner_Pwd,
13                   Couriner_Name = c.Couriner_Name,
14                   Couriner_Area = area.Area_Name
15                };
16         int pageSize = 10;
17         int pageNumber = (page ?? 1);
18         return View(couriner.ToPagedList(pageNumber, pageSize));
19 20 }

 

Model

也许你会奇怪select new V_Couriner是什么 其实它是Model中自己写的一个类 下面贴出来V开头代表视图

1 public class V_Couriner
2     {
3         public string Couriner_Acc { get; set; }
4         public string Couriner_Pwd { get; set; }
5         public string Couriner_Name { get; set; }
6         public string Couriner_Area { get; set; }
7     }
8 }

 

View

视图就没什么好说的 主要注意的是引用:

@model PagedList.IPagedList<WebFruits.Models.V_Couriner>
@using PagedList.Mvc;

另外PagedList的样式 我引用在Layout中 因为这个重复使用率很高 好吧 因为我懒

 1 <table class="table table-striped table-hover">
 2     <tr>
 3         <th>
 4             帐号
 5         </th>
 6         <th>
 7             密码
 8         </th>
 9         <th>
10             姓名
11         </th>
12         <th>
13             所属区域
14         </th>
15     </tr>
16 
17     @foreach (var item in Model)
18     {
19         <tr>
20             <td>
21                 @Html.DisplayFor(modelItem => item.Couriner_Acc)
22             </td>
23             <td>
24                 @Html.DisplayFor(modelItem => item.Couriner_Pwd)
25             </td>
26             <td>
27                 @Html.DisplayFor(modelItem => item.Couriner_Name)
28             </td>
29             <td>
30                 @Html.DisplayFor(modelItem => item.Couriner_Area)
31             </td>
32         </tr>
33     }
34 
35 </table>

嗯 今天就到这 额凌晨2点了

 

转载请注明地址http://www.cnblogs.com/CoffeeEddy/p/5154480.html

 

posted @ 2015-12-22 02:06  咖啡漩涡  阅读(322)  评论(0编辑  收藏  举报