Подсчет элементов в списке - ASP.NET C#

У меня есть функция поиска на моем веб-сайте, которая берет текст из элемента управления textbox, сравнивает его с названиями продуктов в моей базе данных, добавляет результаты в список и затем отображает сведения о продукте в повторителе.

Я хотел бы посчитать количество элементов в списке, чтобы я мог отобразить такой текст, как

Результаты поиска для 'Джинсы' (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>";

    }

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);
Другие вопросы по тегам