templates – 使用EditorFor <>呈现下拉列表

到目前为止,我们可以使用
Html.EditorFor()为数据类型动态呈现适当的模板 – 例如string,int或自定义类型,例如’Address’.

现在我想使用EditorFor()来渲染一个’Parent’字段.我想要一个包含每一行的下拉列表,用户从此下拉列表中选择一个父项.

‘Parent’模板可以访问’ParentID’,但是用于填充列表框的行的名称和ID呢?

这些来自何处?

我可以将数据访问逻辑放在模板中,但这会违反关注点的分离.

我可以创建一个呈现列表的HtmlHelper,但这不会打破关注点的分离,因为HtmlHelpers应该只做UI的东西,而不是数据访问?

有任何想法吗?

最佳答案 您可以试试MVVM方法吗?您的ViewModel将包含呈现下拉列表所需的所有数据,以及用于在POST时存储用户输入的“编辑”模型,在这种情况下,我想这只是一个ID号.

点赞