2009-03-11 2 views
3

私は、この無線タグがあります。いずれもが知っリピータでASP.Netを使用して無線入力タグのチェック値を設定する方法は?

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

をしてGetIsCheckedはbool値を返すのAC#機能、その右の方法のラジオボタンのチェックを値に影響を与えないというのが私の問題であり、 それを修正する方法は?

答えて

8

checked属性をinputに設定するだけで確認できます。 HTMLでは、XHTMLではcheckedが必要ですが、それは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; 
} 
0

Bdukesの答えが正しい:それはこのような何かを見てみましょう。この投稿に来る前、私はchecked=checkedが、

checked 
checked="" 
checked="checked" 

が等価であるを返す方法を把握しようとする際に多くの時間を費やしました。

「IsDefault」がboolを返すと考えると、現代のすべてのブラウザでうまく機能します。

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

詳細については、thisを参照してください。

関連する問題