首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

求解asp.net mvc中的一个html.checkbox的有关问题

2013-04-09 
求解asp.net mvc中的一个html.checkbox的问题复现步骤:1.vs2010建立一个mvc3.0的网站项目(含示例代码)2.编

求解asp.net mvc中的一个html.checkbox的问题
复现步骤:
1.vs2010建立一个mvc3.0的网站项目(含示例代码)
2.编辑注册页面视图(Account/Register),在注册按钮上方,添加以下代码

 <div class="editor-field">
            @foreach (SelectListItem item in (List<SelectListItem>)ViewData["CityList"])
            {
             @Html.CheckBox("SomeParas", item.Selected, new { value=item.Value})
             @Html.Label(item.Text);
            }
            </div>

3.在Account控制器中,添加
protected void BindCheckbox(RegisterModel model)
        {
            List<SelectListItem> cityselectList = new List<SelectListItem>();
            cityselectList.Add(new SelectListItem { Text = "所有", Value = "0", Selected = false });
            cityselectList.Add(new SelectListItem { Text = "宁波", Value = "88", Selected = false });
            ViewData["CityList"] = cityselectList;
        }

4.修改Account中的两个Register方法为
public ActionResult Register()
        {
            BindCheckbox(null);
            return View();
        }
[HttpPost]
        public ActionResult Register(RegisterModel model,string[] SomeParas)
        {
            //if (ModelState.IsValid)
            //{
            //    // 尝试注册用户
            //    MembershipCreateStatus createStatus;
            //    Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus);

            //    if (createStatus == MembershipCreateStatus.Success)
            //    {
            //        FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */);
            //        return RedirectToAction("Index", "Home");
            //    }
            //    else


            //    {
            //        ModelState.AddModelError("", ErrorCodeToString(createStatus));
            //    }
            //}
            ModelState.AddModelError("UserName","sth wrong");
            BindCheckbox(model);
            // 如果我们进行到这一步时某个地方出错,则重新显示表单
            return View(model);
        }



调试,并尝试进行注册。

报错是针对: @Html.CheckBox("SomeParas", item.Selected, new { value=item.Value}) 这句的,错误是:该字符串未被识别为有效的布尔值。

求解惑,为什么会出现这个错误? asp.net?mvc mvc asp.net
[解决办法]
item.Selected为Null
[解决办法]
mvc中的CheckBox、CheckBoxFor不是很好用,生成的代码不甚简洁,且不好处理,建议用<input type="checkbox" />

热点排行