首页 新闻 会员 周边

MVC dropdownlist处理方式

0
悬赏园豆:10 [已解决问题] 解决于 2014-08-07 16:50

razor视图

数据库中存储的是select 中的value,是数字。详情页面中显示的是select中的text文本。

select中的option较多。

大家都是如何处理的?

lucika.zh的主页 lucika.zh | 初学一级 | 园豆:62
提问于:2014-08-07 13:53
< >
分享
最佳答案
0

在后台构造好List<SelectListItem>就行了哇。

收获园豆:8
幻天芒 | 高人七级 |园豆:37175 | 2014-08-07 14:34

我在cshtml页面中构造,特别是select元素较多时感觉有点麻烦。

lucika.zh | 园豆:62 (初学一级) | 2014-08-07 14:41

@lucika.zh: 这个确实是这样的,可是没什么好办法~

幻天芒 | 园豆:37175 (高人七级) | 2014-08-07 15:01
其他回答(1)
0

在模型里定义一个集合,比如 AvailableItems,类型IEnumerable<SelectListItem>就好,同时,再定义一个默认值变量:SelectedValue,既可以做默认值用,也可以做表单提交时的选项值:

@Html.DropDownListFor(model=>model.SelectedValue, Model.AvailableItems, "提示选择说明项")

当然,形成AvailableItems时就简单了,从数据库里查询,使用循环设置就好:

 

foreach(var row in rows)

{

    model.AvailableItems.Add(new SelectListItem{Text=row.text, Value=row.id});

}

收获园豆:2
519740105 | 园豆:5810 (大侠五级) | 2014-08-07 15:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册