HiddenField两种取值方式
HiddenField控件顾名思义就是隐藏输入框的服务器控件,它能让你保存那些不需要显示在页面上的且对安全性要求不高的数据。也许这个时候应该有这么一个疑问,为什么有了ViewState、Session和Cookie等状态保存机制,还需要用起HiddenField呢?
增加HiddenField,其实是为了让整个状态管理机制的应用程度更加全面。因为不管是ViewState、Cookie还是Session,都有其失效的时候,比如用户因某种需求要求设置ViewState为false,或者环境条件限制使用Cookie,或者用户长时间没有动作导致Session过期等等,那这个时候HiddenField无疑是最佳选择。
HiddenField控件的作用简单的说是用于存储需要在向服务器的发送间保持的值。它作为 <input type= "hidden"/> 元素呈现,并且通过添加runat=”server”就可以使它成为标准的HTML服务器控件。
拖放一个HiddenField
<body>
<form id="form1" runat="server">
<div>
<asp:HiddenField ID="hfGetValue" runat="server" />
</div>
</form>
HiddenField两种取值方式
一)、通过对象方式:
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
hfGetValue.Value = System.Guid.NewGuid().ToString();
string hfState = this.hfGetValue.Value;
Response.Write(hfState);
}
}
运行结果:
二)、表单形式:
<body>
<form id="form1" runat="server">
<div>
<asp:HiddenField ID="hfGetValue" runat="server" />
<asp:Button ID="btnHiddenGetValue" runat="server" Text="获取"
onclick="btnHiddenGetValue_Click" />
<asp:Label ID="labHiddenValue" runat="server"></asp:Label>
</div>
</form>
</body>
双击获取按钮:
protected void btnHiddenGetValue_Click(object sender, EventArgs e)
{
string hfGetValueFrom = Request.Form["hfGetValue"].ToString();
labHiddenValue.Text = hfGetValueFrom;
}
运行结果: