我想要一个使用EditorForModel Html助手渲染状态的列表框。我的视图模型:
public class MyViewModel
{
public MyewModel()
{
States = new SelectList(MyModel.RegionsToSelectList,"Value","Text");
}
[DataType(DataType.Text)]
public string City { get; set; }
[Display(Name = "States")]
public SelectList States { get; private set; }
}
在我看来,我有@Html.EditorForModel()
City
正确渲染,但States
不渲染到任何类型的列表(下拉列表或列表框)中
如果我使用@Html.DropDownList("mylistname", Model.States)
,它会正确渲染。我真的很想在ForModel
过程中进行渲染。
这能做到吗?
如果要生成下拉列表,则需要使用Html.DropdownListFor帮助程序。使用SelectList作为某些属性的类型并不意味着默认编辑器模板将呈现一个框。因此,您必须编写一个自定义编辑器模板。
你可以看看下面的博客文章,看看这些默认模板是如何实现的。