【问题标题】:Count items in a list - ASP.NET C# [closed]计算列表中的项目 - ASP.NET C# [关闭]
【发布时间】:2015-03-09 19:55:31
【问题描述】:

我的网站上有一个搜索功能,它从文本框控件中获取文本,将其与数据库中的产品名称进行比较,将结果添加到列表中,然后在转发器中显示产品详细信息。

我想计算列表中的项目数,以便显示一些文本,例如

“牛仔裤”的搜索结果(找到 10 个结果)

我已经有了“牛仔裤的搜索结果”位,但我不知道如何计算我的结果变量列表。

C#

protected void btnSearch_Click(object sender, EventArgs e)
    {
        string searchWord = txtWord.Text;

        ZaraEntities db = new ZaraEntities();

        var results = db.Products.Where(p => p.Name.Contains(searchWord));

        rptrSearch.DataSource = results.ToList();
        rptrSearch.DataBind();

        litResults.Text = "<p>" + "Search results for " + "'" + txtWord.Text + "'" + "</p>";

    }

【问题讨论】:

  • results.Count() 也许?
  • 我一定是遗漏了什么,不应该像.Count()那么简单
  • @EZI 你并没有遗漏任何东西 OP 遗漏了一些东西,这意味着他们甚至在哪里得到 Count();从结果来看。他们也没有在 litResults.Text 中使用它

标签: c# asp.net count


【解决方案1】:

试试这个:

protected void btnSearch_Click(object sender, EventArgs e)
{
    string searchWord = txtWord.Text;

    ZaraEntities db = new ZaraEntities();

    var results = db.Products.Where(p => p.Name.Contains(searchWord));

    rptrSearch.DataSource = results.ToList();
    rptrSearch.DataBind();

    litResults.Text = "<p>" + "Search results for " + "'" + txtWord.Text + "'" + " ("+ results.ToList().Count + ") Results found.</p>";

}

litResults.Text = "<p>" + "Search results for " + "'" + txtWord.Text + "'" + " ("+ results.ToList().Count() + ") Results found.</p>";

编辑: 如果你这样做会更好:

litResults.Text = string.Format("<p>Search results for {0} ({1}) Results found.</p>",txtWord.Text,results.ToList().Count);

【讨论】:

  • 在我看来,如果你使用 string.Format() 函数会更干净,并且我修复了你的格式
  • 是的..肯定会更好,它只是想为他提供他所要求的核心解决方案
  • 谢谢。我正在尝试 results.Count 而不是 results.ToList().Count 这就是它不起作用的原因。
  • 不客气..不断改进^_^
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-03
  • 1970-01-01
  • 2019-10-02
  • 1970-01-01
  • 1970-01-01
  • 2015-10-05
相关资源
最近更新 更多