ASP.NET 允許您將信息存儲在 HiddenField 控件中,此控件將呈現為一個標准的 HTML 隱藏域。
隱藏域在浏覽器中不以可見的形式呈現,但您可以就像對待標准控件一樣設置其屬性。
當向服務器提交頁時,隱藏域的內容將在 HTTP 窗體集合中隨同其他控件的值一起發送。
隱藏域可用作一個儲存庫,您可以將希望直接存儲在頁中的任何特定於頁的信息放置到其中。
安全注意
惡意用戶可以很容易地查看和修改隱藏域的內容。請不要在隱藏域中存儲任何敏感信息或保障應用程序正確運行的信息。
HiddenField 控件在其Value屬性中只存儲一個變量,並且必須通過顯式方式添加到頁上。
為了在頁處理期間能夠使用隱藏域的值,必須使用 HTTP POST 命令提交相應的頁。如果在您使用隱藏域的同時,為了響應某個鏈接或 HTTP GET 命令而對頁進行了相應處理,那麼隱藏域將不可用。
HiddenField 控件用於存儲一個值,在向服務器的各次發送過程中,需保持該值。它呈現為 <input type= "hidden"/> 元素。
通常情況下,Web 窗體頁的狀態由視圖狀態、會話狀態和 cookie 來維持。但是,如果這些方法被禁用或不可用,則可以使用 HiddenField 控件來存儲狀態值。
若要指定 HiddenField 控件的值,請使用 Value 屬性。
在向服務器的各次發送過程中,當 HiddenField 控件的值更改時,將引發ValueChanged事件
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>無標題頁</title> <script type="text/javascript"> function PageLoad() { // Set the value of the HiddenField control with the // value from the TextBox. form1.ValueHiddenField.value = form1.ValueTextBox.value; } </script> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="ValueTextBox" runat="server" /> <br /> <input type="submit" name="SubmitButton" value="Submit" onclick="PageLoad()" /> <br /> <asp:Label ID="Message" runat="server" /> <asp:HiddenField ID="ValueHiddenField" runat="server" OnValueChanged="ValueHiddenField_ValueChanged" /> </div> </form> </body> </html>