HiddenField 控件用于存储一个值,在向服务器的各次发送过程中,需保持该值。它呈现为 <input type= "hidden"/> 元素。
通常情况下,Web 窗体页的状态由视图状态、会话状态和 cookie 来维持。但是,如果这些方法被禁用或不可用,则可以使用 HiddenField 控件来存储状态值。
需要注意的是:HiddenField控件中存储的内容必须是对安全性要求不高的非敏感性数据。客户端可能通过查找源代码来或者HiddenField中保存的Value值。
若要指定 HiddenField 控件的值,请使用 Value 属性。您可以提供这样一个例程,每次由于创建 ValueChanged 事件的事件处理程序,而在向服务器的各次发送过程中更改 HiddenField 控件的值时,都会调用该例程。
示例代码
<%
@ Page language
=
"
C#
"
%>
< script runat ="server" >
void ValueHiddenField_ValueChanged (Object sender, EventArgs e)
{
// Display the value of the HiddenField control.
Message.Text = " The value of the HiddenField control is " + ValueHiddenField.Value + " . " ;
}
</ script >
< html >
< body >
< form id ="Form1" runat ="server" >
< h3 > HiddenField Example </ h3 >
Please enter a value and click the submit button. < br />
< 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"
onvaluechanged ="ValueHiddenField_ValueChanged"
value =""
runat ="server" />
</ form >
</ body >
</ html >
< script language ="javascript" >
<!--
function PageLoad()
{
// Set the value of the HiddenField control with the
// value from the TextBox.
Form1.ValueHiddenField.value = Form1.ValueTextBox.value;
}
-->
</ script >
< script runat ="server" >
void ValueHiddenField_ValueChanged (Object sender, EventArgs e)
{
// Display the value of the HiddenField control.
Message.Text = " The value of the HiddenField control is " + ValueHiddenField.Value + " . " ;
}
</ script >
< html >
< body >
< form id ="Form1" runat ="server" >
< h3 > HiddenField Example </ h3 >
Please enter a value and click the submit button. < br />
< 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"
onvaluechanged ="ValueHiddenField_ValueChanged"
value =""
runat ="server" />
</ form >
</ body >
</ html >
< script language ="javascript" >
<!--
function PageLoad()
{
// Set the value of the HiddenField control with the
// value from the TextBox.
Form1.ValueHiddenField.value = Form1.ValueTextBox.value;
}
-->
</ script >