В следующем теге привязки есть ребенок и внук. У внука есть дальний фоновой градиент. Ребенок на ближнем фоне прозрачен, но имеет переход к градиенту. При наведении непрозрачность ребенка переходит от 0 до 1 в течение 1 секунды.
Вот CSS:
.bkgrndfar {
position:absolute;
top:0;
left:0;
z-index:-2;
height:100%;
width:100%;
background:linear-gradient(#eee, #aaa);
}
.bkgrndnear {
position:absolute;
top:0;
left:0;
height:100%;
width:100%;
background:radial-gradient(at 50% 50%, blue 1%, aqua 100%);
opacity:0;
transition: opacity 1s;
}
a.menulnk {
position:relative;
text-decoration:none;
color:#333;
padding: 0 20px;
text-align:center;
line-height:27px;
float:left;
}
a.menulnk:hover {
color:#eee;
text-decoration:underline;
}
/* This transitions child opacity on parent hover */
a.menulnk:hover .bkgrndnear {
opacity:1;
}
И это HTML:
<a href="#" class="menulnk">Transgradient
<div class="bkgrndfar">
<div class="bkgrndnear">
</div>
</div>
</a>
Вышеупомянутая проверка протестирована только в последней версии Chrome. Это прежде, чем наведите указатель мыши на полпути на ползунках и полностью перевернутые наводящие изображения:
[/g0] [/g1] [/g2]
Не удалось создать экземпляр отношений. ViewModels.AddGameViewModel. Сложные типы, связанные с моделью, не должны быть абстрактными или значениями и должны иметь конструктор без параметров.
blockquote>Давайте попробуем устранить эту ошибку.
Не удалось создать экземпляр отношения .ViewModels.AddGameViewModel.
blockquote>Довольно очевидно: компоненты привязки к модели пытаются создать экземпляр вашего типа, но не удалось.
Связанные с моделью сложные типы
blockquote>«Связанный с моделью» означает, что они связаны конвейером ASP.NET. «сложные типы» - это в основном любые типы, которые не являются «базовыми», например
string
илиint
. Ваши модельные классы являются сложными типами.не должно быть абстрактным
blockquote>Система привязки модели захочет иметь возможность создавать экземпляры класса, поэтому она не может быть абстрактной; это должно быть конкретным. Все типы, которые вы показываете, являются конкретными, так что это не проблема.
или типы значений
blockquote>Нельзя использовать типы
struct
с привязкой к модели; это только одно из его ограничений. К счастью, все ваши типы - это классы, так что вы можете игнорировать это.и должен иметь конструктор без параметров.
blockquote>ASP.NET не знает, как передавать параметры конструкторам моделей. Он может делать только эквивалент
new T()
, поэтому все типы вашей модели должны определять конструктор с нулевыми параметрами. Это причина, по которой вы видите ошибку; ваш классAddGameViewModel
определяет только этот конструктор:public AddGameViewModel(IEnumerable<GameCategory> categories)
Одна из особенностей языка C # заключается в том, что, когда вы не указываете конструктор вручную, он добавляет для вас конструктор по умолчанию. Когда вы определяете конструктор в своем коде, этот конструктор по умолчанию не добавляется.
Во всех других ваших моделях вы не определяете никаких конструкторов, поэтому компилятор добавляет для вас модель по умолчанию. В случае
AddGameViewModel
вы добавили конструктор, поэтому для решения проблемы вы также должны добавить конструктор по умолчанию:public AddGameViewModel() { }