【发布时间】:2016-10-16 08:10:32
【问题描述】:
我有一个 asp.net 网络表单和列表视图。我想使用 linq 从 SQL Server 表中获取数据。
但是当我看到结果时,我看不到带有示例第一个字段(人员 ID)的行。
如何显示所有结果?
在我的 SQL Server 表中,我看到它是这样的:
已更新
id 名称 更改日期 状态 实际
0 约翰 2016-05-10 00:00 状态1 0
0 约翰 2016-05-10 00:00 状态2 1
1 Jel 2016-03-10 00:00 状态3 1
2 安德鲁 2016-01-10 00:00 状态4 0
2 安德鲁 2016-03-10 19:30 状态2 1
3 Kozh 2016-03-10 19:30 状态1 1
4 Ars 2016-03-10 19:30 状态1 1
5 Oser 2016-03-10 19:30 状态1 0
5 Oser 2016-03-10 19:30 状态2 1
当我显示页面时,我只看到前两行
我的代码:
<asp:ListView ID="ListView2" ItemType="DocCat.Models.ReqInf" SelectMethod="GetData
DataKeyNames="ID" EnableViewState="false" runat="server" visible="true"
UpdateMethod="ListView2_UpdateItem" >
<LayoutTemplate>
<div class="outerContainer">
<table id="docTable">
<tr>
<th>ID</th>
<th>Name</th>
<th>ChangeStatus</th>
<th>Change Date</th>
</tr>
<tr runat="server" id="itemPlaceholder"></tr>
</table>
</div>
</LayoutTemplate>
<ItemTemplate >
<tr>
<td><%# Item.ID %></td>
<td><%# Item.F1%></td>
<td><%# Item.ChangeS %></td>
<td><%# Item.ChangeD %></td></tr>
</ItemTemplate>
</asp:ListView>
代码:
public IEnumerable<ReqInf> GetReq()
{
IEnumerable<ReqInf> docsu = repository.ReqForDoc;
return docsu.OrderBy(I => I.ID)
}
Asp.Net 网络表单、实体框架
更新
结果:
1 Jel 2016-03-10 00:00 状态3 1
3 Kozh 2016-03-10 19:30 状态1 1
4 Ars 2016-03-10 19:30 状态1 1
5 Oser 2016-03-10 19:30 状态2 1
更新
我使用 EFDB 上下文。
public DbSet<ReqInf> ReqForDoc { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<ReqInf>().ToTable("ReqForDoc");
}
和存储库
public IEnumerable<ReqInf> ReqForDoc
{
get { return context.ReqForDoc; }
}
【问题讨论】:
-
如果您看到两行,那么列表视图的高度太小而无法看到所有四行。
-
最后两行没有区别。可能是您有一些逻辑来仅显示不同的行。如果可能,请发布您的公司代码。
-
@Vicky_Thinking 当我更改我的行时,我需要保存它并制作具有不同日期和状态的另一行。我需要有日志,因为我需要查看所有具有相同 ID 的行。
-
@jdweng 我有分页,而且我的行数超过 4 行,仅供示例
-
@АндрейГолубцов 明白了你的意思,这很公平。您发布的代码对我来说看起来不错。能否请发布 linq 查询并绑定到列表视图?
标签: c# asp.net sql-server entity-framework