MVC4 でドロップダウン リストを使用してエディター テンプレートを作成しようとしています。次のように、dropdownlistfor をビューで直接動作させることができます。
@Html.DropDownListFor(model => model.Item.OwnerId, new SelectList(Model.DDLOptions.CustomerOptions, "Value", "DisplayText"))
しかし、それを「生成」してエディターテンプレートに入れると、機能させることができません。
これが私の EditorTemplate パーシャルで試していることです:
@Html.DropDownListFor(model => model, new SelectList(Model.DDLOptions.CustomerOptions, "Value", "DisplayText"))
エラーが発生しています:
Exception Details: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'int' does not contain a definition for 'DDLOptions'
Model.DDLOptions.CustomerOptions
タイプはIEnumerable<DDLOptions<int>>
:
public class DDLOptions<T>
{
public T Value { get; set; }
public string DisplayText { get; set; }
}
このエラーは、DDLOptions がジェネリックであることと関係がありますか?