Чтобы отключить элементы, вы должны использовать атрибут disabled .
Я немного изменил ваш код, и это будет делать то, что вы после. Blazor автоматически добавляет или удаляет атрибут disabled
на основе значения IsDisabled
.
Вы также должны использовать атрибут disabled на своей кнопке. Это гораздо лучшая практика.
@functions {
protected bool IsDisabled { get; set; }
}
Вы все еще можете комбинировать это с применением класса CSS для стилизации отключенного элемента. Это зависит от вас.
Шаблон для подкачки очень прост. Он включает использование методов расширения Skip () и Take () следующим образом:
public IQueryable<Item> FindItemsByDescription(string description, int pageIndex, int pageSize)
{
return from item in _dc.Items
where item.Description.
Contains(description).
Skip((pageIndex - 1) * pageSize).
Take(pageSize);
}
ОБНОВЛЕНИЕ: Чтобы получить общее количество, просто используйте метод Count ():
int totalCount = from item in _dc.Items
where item.Description.
Contains(description).Count();
int numberOfPages = (int)(totalCount/pageSize);
В зависимости от того, как вы собираетесь отображать записи, вы можете использовать numberOfPages для отображения панели навигации с «Страница X из Y» ... Страница 1 из 10 и т.д ..
Вы можете использовать метод расширения Take:
public IQueryable<Item> FindItemsByDescription(string description, int resultAmount)
{
return from item in _dc.Items
where item.Description.Contains(description).Take(resultAmount);
}
Вы можете сделать еще один шаг и использовать Skip для последующих «страниц»:
public IQueryable<Item> FindItemsByDescription(string description, int resultAmount, int page)
{
return from item in _dc.Items
where item.Description.Contains(description).Skip(resultAmount * page).Take(resultAmount);
}