我想使用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
进程中进行渲染。
可以这样做吗?
答案 0 :(得分:1)
如果要生成下拉列表,则需要使用Html.DropdownListFor帮助程序。您已将SelectList用作某些属性的类型这一事实并不意味着默认编辑器模板将呈现一个框。因此,您必须编写自定义编辑器模板。
您可以查看以下blog post,了解这些默认模板的实现方式。