如何使用ASP.Net设置无线电输入标记的检查值?

我有这个无线电标签:

<input name="phoneRadio" class="phoneRadio" id="rbDefaultPhone" 
    type="radio" checked="<%# GetIsChecked(Eval("IsDefault")) %>"/>

在一个中继器和GetIsChecked是ac#函数,它返回布尔值,我的问题是它不会影响单选按钮的选中值正确的方式,任何人都知道如何解决这个问题?


只要在input上具有checked属性就足以使其被检查。 在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;
}

Bdukes的回答是正确的。 在来这篇文章之前,我花了很多时间试图找出如何返回checked=checked但是

checked
checked=""
checked="checked"

是等同的。

考虑到'IsDefault'返回布尔值,在所有现代浏览器中运行良好。

<input name="phoneRadio" class="phoneRadio" id="rbDefaultPhone"  type="radio" 
 checked='<%#Eval("IsDefault")%>'

检查这个更多的解释。

链接地址: http://www.djcxy.com/p/56045.html

上一篇: How to set checked value for a radio input tag using ASP.Net?

下一篇: Jade radio button checked condition