これらのクラスがあるとします:
public class Animal
{
}
public class Elephant : Animal
{
public string Name { get; set; }
}
そして私はコントローラーメソッドを持っています
public SubmitElephants()
{
var elephants = new List<Animal>();
elephants.Add(new Elephant { Name = "Timmy" };
elephants.Add(new Elephant { Name = "Michael" };
return View("DisplayElephants", elephants);
}
DisplayElephants ビューは次のようになります。
@model IList<Elephant>
@foreach(var elephant in Model)
{
<div>@elephant.Name</div>
}
したがって、このコードを実行すると、エラーが発生します。
ディクショナリに渡されたモデル アイテムのタイプは 'System.Collections.Generic.List 1[Animal]', but this dictionary requires a model item of type 'System.Collections.Generic.IList
1[Elephant]' です。
いいえ、リストを次のように変更したくありませんvar elephants = new List<Elephant>();
ゾウだけが含まれていることがわかっている動物のリストがあることを考えると、知りたいことはどうすればコントローラーからゾウに固有のビューに渡すことができますか?