新建一个MVC Web应用程序,在Controller文件夹下新建一个控制器,在新建的控制器的返回方法View()上右击添加视图,视图的名字不可更改,在Models文件夹下新建一个LINQ to SQL类,把要用的表导进来,然后新建一个类InfoBF,InfoBF里的代码如下:
public class InfoBF { private MyDBDataContext _Context = new MyDBDataContext(); public List<Info> SelectAll() { return _Context.Info.ToList(); } }
在新添加的视图中把要显示的信息写出来,注意:在新视图中写C#代码时用<% %>,把C#代码写到<%C#代码 %>中,在写C#代码时要用到InfoBF类,要把InfoBF的命名空间导进去,在视图最上面,如:
<%@ Import Namespace="MvcApplication1.Models" %>
新视图要显示的内容 代码如下:
<table width="100%" border="1"> <tr style="background-color:navy ;color:white" align="center"> <td>代号</td> <td>姓名</td> <td>性别</td> <td>民族</td> <td>生日</td> <td>单位</td> <td>部门</td> <td>父亲</td> <td>母亲</td> <td>配偶</td> <td>子女</td> </tr> <% //查询 List<Info> list = new InfoBF().SelectAll(); //循环显示 foreach(Info data in list) { %> <tr style="background-color:#89c0c3" align="center"> <td><%=data.Code %></td> <td><%=data.Name %></td> <td><%=data.Sex.Value?"男":"女" %></td> <td><%=data.Nation1.Name %></td> <td><%=data.Birthday.Value.ToString("yyyy-MM-dd") %></td> <td><%=data.Firm %></td> <td><%=data.Depart %></td> <td><%=data.Father %></td> <td><%=data.Mother %></td> <td><%=data.Couple %></td> <td><%=data.Children %></td> </tr> <% } %> </table>
其中:单位,部门,父亲,母亲,配偶,子女 这六项是在别的表中,需要在新建一个Info类,Info类代码如下:
public partial class Info { public string Firm { get { if (this.Work.Count > 0) { return this.Work.OrderByDescending(p => p.Orders).First().Firm; } else { return ""; } } } public string Depart { get { if (this.Work.Count > 0) { return this.Work.OrderByDescending(p => p.Orders).First().Depart; } else { return ""; } } } public string Father { get { if (this.Family.Count > 0) { var query = this.Family.Where(p=>p.Title == "T001"); if (query.Count() > 0) { return query.First().Name; } else { return "<空>"; } } else { return "<空>"; } } } public string Mother { get { if (this.Family.Count > 0) { var query = this.Family.Where(p=>p.Title == "T002"); if(query.Count()>0) { return query.First().Name; } else { return "<空>"; } } else { return "<空>"; } } } public string Couple { get { if(this.Family.Count>0) { var query = this.Family.Where(p=>p.Title == "T003"); if (query.Count() > 0) { return query.First().Name; } else { return "<空>"; } } else { return "<空>"; } } } public string Children { get { if (this.Family.Count > 0) { var query = this.Family.Where(p=>p.Title == "T004"); if (query.Count() > 0) { return query.First().Name; } else { return "<空>"; } } else { return "<空>"; } } } }