【问题标题】:ASP.NET Repeater doesn't always show all resultsASP.NET 中继器并不总是显示所有结果
【发布时间】:2013-04-24 07:29:46
【问题描述】:

我有一个应用程序(带有 C# 的 ASP.NET),我在其中从数据库(来自 Microsoft 索引服务的索引)中获取结果,然后在 asp:Repeater 中显示该结果。通常我会得到想要的结果,例如,Repeater 显示 1500 个结果中的 1500 个,但有时查询会找到 300 个结果,Repeater 只显示其中的 200 个。

这是我获取结果记录数的方式:

foreach (DataTable dt in queryResult.Tables)
{

   foreach (DataRow row in dt.Rows)
   {
       rows++;
   }
}

这就是我将数据绑定到中继器的方式:

if (queryResult.Tables.Count > 0)
{
   Result.DataSource = queryResult;
   Result.DataBind();
}

有没有人知道什么会导致这个问题?

【问题讨论】:

  • DataTable.Rows 有一个属性Count,所以不需要枚举所有行来计算它。
  • @TimSchmelter 好的。谢谢你。但我仍然必须枚举表格,它并不能解释为什么中继器有时不会显示所有结果。
  • 您的数据集是否包含多个表?那么你想如何计算行数呢?转发器显示什么,单个表/结果集的字段或多个表/结果集的字段?
  • @TimSchmelter 是的,DataSet 可以包含多个表。为了获得行数,我枚举了所有表并添加了不同表的所有行数。由于 DataSet 包含所有表的结果,Repeater 将所有表的结果显示在一个列表中。

标签: c# asp.net repeater indexing-service


【解决方案1】:

问题解决了。 不是中继器而是 Microsoft 索引服务填满了服务器硬盘上的所有空间,然后无法返回正确的结果。 我将索引移动到空间更大的分区,一切正常。

【讨论】:

  • 你能再解释一下吗?
猜你喜欢
  • 1970-01-01
  • 2016-11-25
  • 1970-01-01
  • 1970-01-01
  • 2012-04-08
  • 1970-01-01
  • 1970-01-01
  • 2019-12-05
  • 1970-01-01
相关资源
最近更新 更多