Asp.NetMVCHandle下拉框不属于模型我有一个小表格用户必须填写和包括以下字段。名称(文本)值(文本)组(组-是从数据库表中提取的选项列表)现在此视图的模型如下所示,publicstringName{get;放;}公共字符串值{得到;放;}publicintGroupID{得到;放;现在,视图被强类型化为上述模型。使用什么方法来填充下拉列表?由于数据不包含在模型中(可能是),我们应该使用Temp/View数据吗?HTML助手?实现这一目标的理想方法是什么。注意:这假设您使用的是MVC2。如果我需要一个强类型的下拉列表(在本例中是一个国家列表),我在ViewModel上使用2个属性。公共IEnumerable国家{得到;放;}publicintCountryID{得到;放;我使用类似于此的代码在我的操作中将我的列表预制为IEnumerable。(这假设一个国家类有一个名字和一个唯一的id)。viewModel.Countries=Repository.ListAll().Select(c=>newSelectListItem{Text=c.Name,Value=c.ID});然后在我的强类型视图中使用:model.CountryID,Model。Countries)%>这很好,因为当您回发到强类型操作(接收相同的视图模型)时,CountryID将是所选国家/地区的ID。如果他们有身份验证问题,还有一个好处。您需要做的就是重新填充.Countries列表,将视图模型传递回视图,它会自动选择正确的值。我使用带有字典的视图模型(我喜欢mvccontrib的选择框),其中包含所有属性,例如:classLeViewModel{publicstringName{get;放;}公共字符串值{得到;放;}publicintGroupID{得到;放;}公共字典组{get;set;}}然后在你看来你只需要做m.GroupId).Options(Model.Groups)%>希望有帮助。我喜欢下面的方法:有一个帮助类为你做这件事,比如(伪):将项目转换为下拉列表的项目*///fe设置匹配model.GroupId的项目已经被选中}}添加你的模型:publicDropdownLogicGroups{get;放;}在您看来:以上为C#学习教程:Asp.NetMVCHandle下拉框不属于本模型分享的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处:
