DisplayFor
使用する表示テンプレートを使用および指定すると、予期しないエラーが発生します。
基本モデルを実装するモデルがあります
public class Smokey : Bacon
{
}
このための表示テンプレートがあります。Smokey のモデルを持つ Smokey.cshtml
に渡すモデルDisplayFor
は ですIEnumerable<Bacon>
。使用する表示テンプレートを指定しない場合、これは正常に機能します。
@Html.DisplayFor(x => x.Items);
しかし、表示テンプレートを指定すると、渡された項目が Bacon 型の IEnumerable であるという例外が発生しますが、このディクショナリには 'Smokey' 型のモデル項目が必要です。
@Html.DisplayFor(x => x.Items, "Smokey");
なぜこれが一方の方法で機能し、他方の方法では機能しないのかを理解しようとしていますか? 違いはなんですか?