本帖最后由 wrost 于 2013-09-02 15:45:45 编辑

解决方案 »

  1.   

    @Html.CheckBox("slide",Request.QueryString["slide"])这个第二个参数好像是设定是否选中的,你想要设值的话@Html.CheckBox("slide", false, new { value=Request.QueryString["slide"]})不知道你想问的是不是这个~~
      

  2.   

    @Html.CheckBox("slide",Request.QueryString["slide"]==null?false:true)
      

  3.   


    这样写不行,返回checkbox都会被选上
      

  4.   


    你这个已返回,就什么都选不上
    不好意思,其实我根本不明白你这个选不上是什么意思?是前台选择的值带不到后台,还是后台的值不能在前台显示?就是下图,我选中 幻灯 checkbox,然后查询;  返回结果后,我希望 幻灯 checkbox 保存查询前的状态,如果选中,那么就选中;没选中,那么就没选中
      

  5.   

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

  6.   

    刚睡醒~~请确定你点击查询之后,controller里面
    Request.QueryString["slide"]这个是否能取到?
    这个是url传值,你提交之后的url中是否包含slide这个值?我建议你使用
    ViewBag.slide = Request.Form["slide"]; //看看是不是返回false,true,我不记得了然后View
    @Html.CheckBox("slide",(bool)(ViewBag.slide ?? false))
      

  7.   

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

  8.   

    谢谢大家回答我现在是按下边这么做,可以解决问题
            public static bool View_CheckBox_isChecked(string queryString)
            {
                bool isChecked = false;            if (queryString == "true,false")
                    isChecked = true;            return isChecked;
            }幻灯:@Html.CheckBox("slide", View_CheckBox_isChecked(Request.QueryString["slide"]))
      

  9.   


    如果checkbox不选上,在controller端,Request.QueryString["slide"]=null
    如果选上 Request.QueryString["slide"] = on .你是通过字符是否是on来判断的吗?  你是怎么判断的?谢谢
      

  10.   


    如果checkbox不选上,在controller端,Request.QueryString["slide"]=null
    如果选上 Request.QueryString["slide"] = on .你是通过字符是否是on来判断的吗?  你是怎么判断的?谢谢
    按你们做也成,那么<input type="checkbox"  name="slide" @(Html.Raw(!string.IsNullOrEmpty(Request.QueryString["slide"]) ? "checked=\"checked\"" : "")) />
    或者添加隐藏域,通过设置checkbox点选事件设置隐藏域值,传递隐藏域值,根据隐藏域值进行checkbox选中与否