Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在listview中显示所有行_C#_Asp.net_Sql Server_Entity Framework - Fatal编程技术网

C# 如何在listview中显示所有行

C# 如何在listview中显示所有行,c#,asp.net,sql-server,entity-framework,C#,Asp.net,Sql Server,Entity Framework,我有一个asp.net web表单和列表视图。我想使用linq从SQL Server表中获取数据 但当我看到结果时,我看不到带有示例第一个字段(个人id)的行 如何显示所有结果 在我的SQL Server表中,我看到它是这样的: 更新 id名称更改日期状态实际值 约翰2016-05-10 00:00状态10 约翰2016-05-10 00:00状态2 1 1果冻2016-03-10 00:00状态3 1 安德鲁2016-01-10 00:00状态40 安德鲁2016-03-10 19:30状态2

我有一个asp.net web表单和列表视图。我想使用linq从SQL Server表中获取数据

但当我看到结果时,我看不到带有示例第一个字段(个人id)的行

如何显示所有结果

在我的SQL Server表中,我看到它是这样的:
更新
id名称更改日期状态实际值
约翰2016-05-10 00:00状态10
约翰2016-05-10 00:00状态2 1
1果冻2016-03-10 00:00状态3 1
安德鲁2016-01-10 00:00状态40
安德鲁2016-03-10 19:30状态2 1
3 Kozh 2016-03-10 19:30状态1
4 Ars 2016-03-10 19:30状态1
2016年3月5日19:30状态10
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> 

一天后,我明白我的问题不在代码中。
我有一个列ID,EF会像键属性一样自动识别它。但是,密钥必须是唯一的,我:

  • 重命名的ID列
  • 将[Key]属性添加到唯一属性中(
    ChangeDate
    在我的例子中)
我在模型中添加的代码:

using System.ComponentModel.DataAnnotations;
 namespace Project.Models
        {
            public class BaseClass
            {
                [Key]
                public DateTime ChangeDate { get; set; }
    ...

如果您看到的是两行,那么listview的高度太小,无法看到所有四行。最后两行不明显。可能您有一些逻辑只显示不同的行。如果可能的话,发布您的业务代码。@Vicky_认为当我更改我的行时,我需要保存它,并用不同的日期和状态创建另一行。我需要有日志,因为我需要看到所有具有相同id的行。@jdweng我有分页,我有超过4行,这只是样本@Ааааааааааааааааа。我觉得你贴的代码很好。能否将linq查询和绑定发布到listview?
   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; }
        }
using System.ComponentModel.DataAnnotations;
 namespace Project.Models
        {
            public class BaseClass
            {
                [Key]
                public DateTime ChangeDate { get; set; }
    ...