2016-06-30 12 views
2

でチェックされているかどうかを確認しています。私が取り組んでいるアプリケーションの一部は、Webページのラジオボタンのグループのどれがチェックされているかを示す必要があります。私がこれまでに書いたコードは動作しません:HTML入力要素がC#

foreach(HtmlElement element in thgBrowser.Document.All) 
{ 
    if (element.Name == "Category" && element.GetAttribute("checked") == "checked") 
     return element.GetAttribute("value"); 
} 

私が理解から、ブール値である「確認」にもかかわらずは、属性をチェックまたはチェック=「確認」として設定されています。このため、私は私が

...GetAttribute("checked") == true 

をしようとしたとき、私は失敗した、どちらもこれを行うには他の二つの方法を、試してみたエラーを取得します。私は試みました:

私はいつもグループの最初のラジオボタンの値をどのようなものが選択されたかにかかわらず得ました。

...GetAttribute("checked") == "checked" 

この

はそれを作ったので、ボタンのどれがチェックされているものとして認識されなかった。これを行うための他の失敗の方法は、私が使用して、元のコードスニペット、です。誰も私がこれを行う方法を知っていますか?

+0

私は理解していない - あなたがC#の言うが、これは次のようになりますJavaScriptを私に。何が起こっている? – Hogan

+0

@HoganこれははっきりとC# –

+0

私はC#でDOMをやっていませんが、 'element.GetAttribute(" checked ")==" "' –

答えて

1

GetAttributeは文字列を返します。

要素の属性がcheckedの場合、メソッドはTrueを返します。それ以外の場合はFalseを返します。あなたは二つのこと

行うことができます:

文字列

if (element.Name == "Category" && Convert.ToBoolean(element.GetAttribute("checked")) 
    return element.GetAttribute("value"); 

を解析したり、Booleanストリングと比較し

if (element.Name == "Category" && element.GetAttribute("checked") == bool.TrueString) 
    return element.GetAttribute("value"); 
関連する問題