How to set checked value for a radio input tag using ASP.Net?
I have this radio tag:
<input name="phoneRadio" class="phoneRadio" id="rbDefaultPhone"
type="radio" checked="<%# GetIsChecked(Eval("IsDefault")) %>"/>
in a repeater and GetIsChecked is ac# function which return bool value, my problem that its not affecting the checked value of the radio button the right way, Any one know how to fix that?
Just having the checked
attribute on the input
is enough to make it checked. In HTML, you just need to have checked
in there, in XHTML, it should be checked="checked"
, but either way, you'll want to exclude the whole attribute if it isn't checked.
That is, GetIsChecked
should (be renamed and) return either "checked='checked'"
or String.Empty
. You will then call it just in the input tag itself, not as the value for the checked
attribute (which you should remove). It'll look something like this:
<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 's answer is correct. Before coming to this post, I spent lot of time in trying to figure out how to return checked=checked
but
checked
checked=""
checked="checked"
are equivalent.
Considering 'IsDefault' returns bool,works well in all modern browsers.
<input name="phoneRadio" class="phoneRadio" id="rbDefaultPhone" type="radio"
checked='<%#Eval("IsDefault")%>'
Check this for more explanation.
链接地址: http://www.djcxy.com/p/56046.html