.netでラベルを作成し、その表示を隠しに設定すると、クライアントにはレンダリングされず、そのデータはviewstateに格納されます。
したがって、データを維持するためにviewstateを使用しているので、viewstateよりも「より」安全です。
隠されたフィールドには、4つの種類があります。最初は正規のHTMLで、単純にhidden型の入力です。これはhtmlにありますが、目に見えるレンダリングはありません。また、ビューステートプロパティもありません。二つ目は、隠されたとして、それをマークするCSSプロパティとの定期的な入力である
<input id="MyId" type='hidden' value='whatever' />
:CSSが無効になっているか、そうでない場合は、オーバーライドされた場合、コントロールは、ユーザーに見えるだろう、それは次のように宣言されています。それ以外は、type = 'hidden'と同じものにかなり近い。
<input id='MyId' type='text' value='whatever' style='visibility:hidden' />
3番目は.Netの非表示フィールドです。これはviewstateストレージを持ちますが、htmlには通常の隠しフィールドも生成されます。
<asp:HiddenField id='MyId' runat='server' value='whatever' />
また、第4のものは、目に見えないとマークされた通常の.netテキストボックスです。
<asp:TextBox id='MyId' runat='server' Text='whatever' Visible='False' />
.netはviewstateにデータを配置します。 HTMLはそうではありません。 .NetコントロールでVisible = Falseを設定すると、クライアントにレンダリングされませんが、データは通常viewstateに格納されます。
は、ページにデータを投げるの他の方法がありますが、それらは、上記の導出されています。あなたはjavascriptのコードが必要とする値を持っている場合
は、一般的に言っていますが、あなたは隠しフィールドを使用し、それをクライアントに表示する必要はありません(HTMLまたは.NET)。あなたは秘密の価値を持っている場合、一般的に、あなたはすべての可能性であれば、これはクライアント側に行きたくありません。そして、それはviewstateからそれを保つことさえ意味します。参考文献として、viewstate "security"に依存しないでください。そこには簡単に解読するツールがあります。
ああ!それが秘密のソースです。おかげでクリス –