具有MVC2和自定义ViewModel的SelectList

时间:2010-08-24 06:39:52

标签: asp.net-mvc-2 viewmodel selectlist

我创建了一个自定义ViewModel,其中一个字段是SelectList / DropDownlist。我想使用EditorForModel来显示ViewModel。除SelectList外,所有字段都有效。我尝试了一些不同的东西,但没有任何东西出现。我在一篇文章中看到,EditorForModel不够“聪明”来做一个DropDownList,我想知道这是否属实。 EditorForModel使用起来更简单,输入更少:)

谢谢!

更新

我明白了。我最终做的是使用UIHint(“TemplateName”),并在EditorTemplates文件夹中创建了一个输出的.ascx文件,这是我所期待的。

1 个答案:

答案 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属性的代码,请告诉我。