日期:2014-05-17  浏览次数:20500 次

关于 @Html.CheckBox
本帖最后由 wrost 于 2013-09-02 15:45:45 编辑

view:
@Html.CheckBox("slide",Request.QueryString["slide"])

controller:
string temp = Request.QueryString["slide"];


问题1:
chebox不选, 那么就是null 
chebox一选上,就是true,false

问题2:
查询后,获取上次查询状态@Html.CheckBox("slide",Request.QueryString["slide"]),都选不上

------解决方案--------------------
@Html.CheckBox("slide",Request.QueryString["slide"])

这个第二个参数好像是设定是否选中的,你想要设值的话

@Html.CheckBox("slide", false, new { value=Request.QueryString["slide"]})

不知道你想问的是不是这个~~


------解决方案--------------------
@Html.CheckBox("slide",Request.QueryString["slide"]==null?false:true)
------解决方案--------------------
引用:
Quote: 引用:

@Html.CheckBox("slide",Request.QueryString["slide"])

这个第二个参数好像是设定是否选中的,你想要设值的话

@Html.CheckBox("slide", false, new { value=Request.QueryString["slide"]})

不知道你想问的是不是这个~~



你这个已返回,就什么都选不上


不好意思,其实我根本不明白你这个选不上是什么意思?

是前台选择的值带不到后台,还是后台的值不能在前台显示?
------解决方案--------------------
@Html.CheckBox("slide",Request.QueryString["slide"]??false)
------解决方案--------------------
刚睡醒~~

请确定你点击查询之后,controller里面
Request.QueryString["slide"]这个是否能取到?
这个是url传值,你提交之后的url中是否包含slide这个值?

我建议你使用
ViewBag.slide = Request.Form["slide"]; //看看是不是返回false,true,我不记得了

然后View
@Html.CheckBox("slide",(bool)(ViewBag.slide ?? false))

------解决方案--------------------
别用razor的CheckBox了,不如直接<input type="checkbox" />来得快捷。
razor的CheckBox、CheckBoxFor不好控制,还生成一些冗余的代码
------解决方案--------------------