我一直在阅读关于复选框的stackoverflow并将它们的值设置为1以使它们被检查,但它似乎在我的情况下不起作用.我有一个databinder eval表达式,当我的复选框应该变成cheged时评估为1,并且我已经验证生成的页面至少有一个输入复选框,其值= 1未显示为已选中.
我错过了什么?我试过设置checked属性,但是甚至check =''计为已选中,所以无论如何我都看不到为已选中和未选中的复选框执行此操作.
这是html似乎不起作用.
这是我在中继器中为主要输入元件设置的数据移动器
' value='<%# Eval("TestResult") %>' />
其他证据只是确保正确的单元格是复选框,并且单元格的对齐以某种方式工作(复选框对齐中心,数字东西对齐,其他东西对齐左边.)
编辑:那么如何通过数据绑定表达式实现这一点,这就是我的困境.
将复选框设置为已选中的正确方法是:
并且呈现未选中复选框的正确方法是(请注意,checked
缺少整个属性):
根据W3C规范:
复选框(和单选按钮)是可由用户切换的开/关开关.当设置了控制元素的checked属性时,开关处于"打开"状态.
因此,设置checkbox属性的任何值都将选中该复选框.
检查="选中"
检查="假"
检查="真
检查
将所有标记复选为已选中.您需要完全删除该属性以清除该复选框.
那么,一个可能的解决方案是:
' <%# isChecked((int)Eval("TestResult")) %> />
代码隐藏
protected string isChecked(int testResult) { if (testResult == 1) { return "checked='checked'"; } else { return ""; } }