Подсчет элементов в списке - 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);