我有这个无线电标签:
<input name="phoneRadio" class="phoneRadio" id="rbDefaultPhone"
type="radio" checked="<%# GetIsChecked(Eval("IsDefault")) %>"/>
转发器中的和GetIsChecked是一个返回bool值的c#函数,我的问题是它不会影响单选按钮的检查值, 任何人都知道如何解决这个问题?
答案 0 :(得分:8)
只需在checked
上设置input
属性即可对其进行检查。在HTML中,您只需要checked
,在XHTML中,它应该是checked="checked"
,但不管怎样,如果没有选中,您将要排除整个属性。
也就是说,GetIsChecked
应该(重命名并)返回"checked='checked'"
或String.Empty
。然后,您将在输入标记本身中调用它,而不是checked
属性的值(您应该删除它)。它看起来像这样:
<input name="phoneRadio" class="phoneRadio" id="rbDefaultPhone" type="radio" <%# GetChecked(Eval("IsDefault"))%> />
protected string GetChecked(object isDefault)
{
return (bool)isDefault ? "checked='checked'" : string.Empty;
}
答案 1 :(得分:0)
Bdukes 的回答是正确的。在发表这篇文章之前,我花了很多时间试图找出如何返回checked=checked
但
checked
checked=""
checked="checked"
是等价的。
考虑到'IsDefault'返回bool,适用于所有现代浏览器。
<input name="phoneRadio" class="phoneRadio" id="rbDefaultPhone" type="radio"
checked='<%#Eval("IsDefault")%>'
检查this以获取更多解释。