2011-12-09 78 views

答えて

15

隠しフィールドを見ることはできませんが、クライアントは、要素を取得したデータを設定し、サーバーに渡すことができるページ上の<input type="hidden" />要素を、生成します。

var clientData = SomeHiddenField.Value; // "data_pass_to_server" 

あなたは目に見えないテキストボックス(<asp:TextBox Visible="False" />)を使用している場合は、htmlファイルで生成されたどの要素がありません。

4

結果のHTMLには、非表示フィールドがinput type = "hidden"としてレンダリングされます。入力の場合、入力の値はポストバック時にサーバーに送信されますが、これはラベルの場合と異なります。その値をサーバーに送信するかどうかによって、入力またはラベルを使用する必要があります。値を送信したくない場合は、ラベルが正しい解決法であり、隠しフィールドが間違っています。

私はあなたが目に見えないテキストボックスによって何を意味するのかは分かりませんが、CSSで目に見えないようにしようとしている場合、入力タイプは検索エンジンやボットなどに意味があります。 CSSなしでも別のCSSでも表示することができ、テキストボックスはユーザーに見えるようになります。それ以外の場合は、両方とも入力をレンダリングするので、隠しフィールドと不可視テキストボックスに違いはありません。

1

実際には、それらのいずれかで同じことを達成できますが、「隠しフィールド」が必要なため、意味論的にASP.NETの隠しフィールドが読みやすくするための最善の策です。あなたが値を取得することができ、ポストバック後

document.getElementById('<%= SomeHiddenField.ClientID %>').value = "data_pass_to_server"; 

5

いずれかの方法で動作しますが、テキストボックスのために、これは、背後にあるコードから特に便利です

yourTextBox.Style.Add("display", "none") 

または

yourTextBox.Style.Add("visibility", "hidden") 
+0

.visible="false" 使用を使用しないでください。どうも – Dave

関連する問題