【问题标题】:ASP.NET 4.5 data binding model SelectMethod throw errorASP.NET 4.5 数据绑定模型 SelectMethod 抛出错误
【发布时间】:2014-02-14 10:40:52
【问题描述】:

我对这种新模式感到困惑。当您阅读教程时,一切看起来都很简单。但最简单的任务我无法完成 - 将数据模型绑定到 GridView。 这是 GridView 代码:

 <asp:GridView ID="gvIlves" runat="server" AllowPaging="True" AllowSorting="True" ItemType="GuideOnline_1_.Models.xTourist"
                AutoGenerateColumns="False" DataKeyNames="Kod" CssClass="table table-striped tablesorter"
                ClientIDMode="Static" PageSize="50" SelectMethod="SelectArrival" UpdateMethod="UpdateArrival">

这里还有 SelectMethod:

public IQueryable<GuideOnline_1_.Models.xTourist> SelectArrival()
        {
            var now = DateTime.Today.AddDays(-3);
            IQueryable<GuideOnline_1_.Models.xTourist> arrivals = _db.xTourist;
            arrivals = arrivals.Where(p => p.Ответственный !=null).Where(p => p.Номер == null).Where(p => p.Датапр >= now);
            return arrivals;
        }

这看起来简单流畅,但我得到了错误: 当 DataBoundControl 启用分页时,SelectMethod 应该返回一个 IQueryable 或者应该具有所有这些强制参数:int startRowIndex、int maximumRows、out int totalRowCount

【问题讨论】:

    标签: c# gridview model asp.net-4.5 selectmethod


    【解决方案1】:

    愚蠢的错误。我只是在 ItemType 中提到了错误的表名。

    【讨论】:

      【解决方案2】:

      这对我有用:

       <asp:GridView ID="gvIlves" runat="server" AllowPaging="True" AllowSorting="True" ItemType="WebApplication1.Tourist"
                  AutoGenerateColumns="True" DataKeyNames="Kod" CssClass="table table-striped tablesorter"
                  ClientIDMode="Static" PageSize="50" SelectMethod="SelectArrival"></asp:GridView>
      

      代码:

      namespace WebApplication1
      {
      public partial class _Default : Page
      {
          public IQueryable<Tourist> SelectArrival()
          {
              return new EnumerableQuery<Tourist>(new List<Tourist>
              {
                  new Tourist{ Kod = "1", Name = "Joe", Age = "35"},
                  new Tourist{ Kod = "2", Name = "Cliff", Age = "45"},
                  new Tourist{ Kod = "3", Name = "Dan", Age = "32"},
              });
          }
      }
      
      public class Tourist
      {
          public string Kod { get; set; }
          public string Name { get; set; }
          public string Age { get; set; }
      }
      }
      

      【讨论】:

      • 谢谢,但还是不行。如果我说 Model ws 先用 DB 构建会有帮助吗?
      • 你可以尝试做return arrivals.ToList(),但我认为这不是答案。您是否尝试过设置AllowPaging="false",只是为了查看它是否有效或是否遇到另一个异常?
      • 是的,ToList 没有答案。我确实尝试更改为 AllowPaging="false",但是还有另一个错误说我的 SelectMethod 不返回 IQueryable。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-14
      • 2014-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多