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