Самый простой способ избежать этого - использовать спрайты изображений. Для хорошего обзора посмотрите эту статью CSS Tricks .
Таким образом, вы не только решаете проблему мерцания, которую видите, но также уменьшаете количество HTTP-запросов , Ваш CSS будет выглядеть примерно так:
a.class-btn { background: url('path/to/image.jpg') 0 0 no-repeat; }
a.class-btn:hover { background-position: 0 -40px; }
Специфика будет зависеть от ваших изображений. Вы также можете использовать онлайн-генератор спрайтов , чтобы облегчить процесс.
IQueryable и IEnumerable обе работы. Но Вы хотите использовать тип определенная версия, IQueryable<
T>
или IEnumerable <
T>
.
Таким образом, Вы захотите создать тип для хранения данных.
var myData = from a in db.MyTable
where a.MyValue == "A"
select new MyType
{
Key = a.Key,
Value = a.MyValue
};
Если Вы хотите возвратиться, Вам нужен тип.
Вместо var
, объявите использование IEnumerable<>
и возвратите ту переменную. Итерация через него на самом деле выполняет запрос.
Общий метод должен дать Вам intellisense:
public class MyType {Key{get;set;} Value{get;set}}
public IQueryable<T> GetSomeData<T>() where T : MyType, new()
{ return from a in db.MyTable
where a.MyValue == "A"
select new T {Key=a.Key,Value=a.MyValue};
}