我创建了一个自定义ViewModel,其中一个字段是SelectList / DropDownlist。我想使用EditorForModel来显示ViewModel。除SelectList外,所有字段都有效。我尝试了一些不同的东西,但没有任何东西出现。我在一篇文章中看到,EditorForModel不够“聪明”来做一个DropDownList,我想知道这是否属实。 EditorForModel使用起来更简单,输入更少:)
谢谢!
更新
我明白了。我最终做的是使用UIHint(“TemplateName”),并在EditorTemplates文件夹中创建了一个输出的.ascx文件,这是我所期待的。
答案 0 :(得分:0)
在您的viewmodel中,您应该有一个IEnumerable<SelectListItem>
public IEnumerable<SelectListItem> Months { get; set; }
在aspx中,你需要按如下方式绑定它:
<%
var htmlAttributes = new Dictionary<string, object> { { "data-autopostback", "true" } };
%>
<%:Html.DropDownList("Month", Model.Months, "-- All --", htmlAttributes)%>
您需要确保在将Months属性传递给视图之前填充它。
如果您需要填充Months属性的代码,请告诉我。