首页 新闻 赞助 找找看

mvc3更新model时无法获取多个checkbox

0
悬赏园豆:5 [已解决问题] 解决于 2013-07-31 00:18
<ul><li><input type="checkbox" id="trade鲜花水果" name="Trade"  value="鲜花水果" /><label for="trade鲜花水果">鲜花水果</label></li>
<li><input type="checkbox" id="trade箱包皮具" name="Trade"  value="箱包皮具" /><label for="trade箱包皮具">箱包皮具</label></li>
<li><input type="checkbox" id="trade鞋类产品" name="Trade"  value="鞋类产品" /><label for="trade鞋类产品">鞋类产品</label></li>
<li><input type="checkbox" id="trade虚拟物品" name="Trade"  value="虚拟物品" /><label for="trade虚拟物品">虚拟物品</label></li>
<li><input type="checkbox" id="trade养生保健" name="Trade"  value="养生保健" /><label for="trade养生保健">养生保健</label></li>
<li><input type="checkbox" id="trade运动器材" name="Trade"  value="运动器材" /><label for="trade运动器材">运动器材</label></li>
<li><input type="checkbox" id="trade植宠园艺" name="Trade"  value="植宠园艺" /><label for="trade植宠园艺">植宠园艺</label></li>
<li><input type="checkbox" id="trade钟表眼镜" name="Trade"  value="钟表眼镜" /><label for="trade钟表眼镜">钟表眼镜</label></li>
<li><input type="checkbox" id="trade珠宝饰品" name="Trade"  value="珠宝饰品" /><label for="trade珠宝饰品">珠宝饰品</label></li>
</ul>
 [HttpPost]
        public ActionResult Create(Template template)
        {

 template.Trade = Request.Form["Trade"];                 

template.ThemeStyle = Request.Form["ThemeStyle"];

                db.Templates.Add(template); 

 db.SaveChanges();                 

return RedirectToAction("Index"); 

}
[HttpPost]
        public ActionResult Edit(int id, FormCollection formValues)
        {
Template template = db.Templates.Find(id);
 template.Trade = Request.Form["Trade"];
                template.ThemeStyle = Request.Form["ThemeStyle"];
TryUpdateModel(template, formValues);

                db.SaveChanges();
                return RedirectToAction("Index");
}


选择多个checkbox提交,Create可以正常存入数据,Edit就只能存入第一个选择Checkbox,调试了日志,Request.Form["Trade"]和formValues.GetValue("Trade").AttemptedValue都可以获取到正常的checkbox值(多个逗号分隔的字符串),但存入数据库里确实就是只有一个值。怎么回事?

红尘中迷茫的主页 红尘中迷茫 | 初学一级 | 园豆:60
提问于:2013-07-30 21:24
< >
分享
最佳答案
0

TryUpdateModel(template, formValues);放上面就ok了。难道真是顺序的问题?

红尘中迷茫 | 初学一级 |园豆:60 | 2013-07-31 00:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册