razor视图
@Html.CheckBox("isStop",Request.QueryString["isStop"] == null ? false : true)
网页右键-->查看源代码
<input checked="checked" id="isStop" name="isStop" type="checkbox" value="true" /><input name="isStop" type="hidden" value="false" />问题1:
我只写了一个checkbox,怎么会出来2个。问题2:  
第一次搜素后,以后返回的checkbox都被选上了,但是我并没有选

解决方案 »

  1.   

    放着好好的所见即所得的html风格代码不写,舍近求远去学什么razor,晕死!
      

  2.   


    <input id="isStop" name="isStop" type="checkbox" checked=@(Request.QueryString["isStop"] == null ? false : true) />这么写好像也不对,请解答下。
      

  3.   

    呵呵,微软的确就是这么设计滴你用这个help他的确就生成两个东西,因为checkbox如果默认不选中,则postback就不会发送这个值,这个help的设计可能认为是个bug,于是他多加了一个hide,表示就算你不选也会提交一个false当然这个设计对于俺们已经习惯前面那种情况的来说,貌似很蹩脚啊。所以如果你他生成这个,你还是自己写<input type=> 这玩意把
      

  4.   

    checked=@(Request.QueryString["isStop"] == null ? "" : "checked")
      

  5.   


    已停用:<input id="isStop" name="isStop" type="checkbox" checked=@(Request.QueryString["isStop"] == null ? "" : "checked") />不管上次有没有选上checkbox,页面只要打开checkbox都会被选上,有点奇怪
      

  6.   

    哦,木仔细你原始代码,直接copy。你说有问题我才看到
    对于Request.QueryString["isStop"] 就不是null了,他的判定是string.IsNullOrEmpty所以,这里应该是@(string.IsNullOrEmpty(Request.QueryString["isStop"]) ? "" : "checked")
      

  7.   


    已停用:<input id="isStop" name="isStop" type="checkbox" checked=@(string.IsNullOrEmpty(Request.QueryString["isStop"]) ? "" : "checked") />还是不行,我看网页源码,第一次打开就被选上了
    已停用:<input id="isStop" name="isStop" type="checkbox" checked= />