HiddenField控件顾名思义就是隐藏输入框的服务器控件,它能让你保存那些不需要显示在页面上的且对安全性要求不高的数据。
也许这个时候应该有这么一个疑问,为什么有了ViewState、Session和Cookie等状态保存机制,还需要“返回老套”用起HiddenField呢?
增加HiddenField,其实是为了让整个状态管理机制的应用程度更加全面。因为不管是ViewState、Session还是Cookie,都有其失效的时候(比如用户因某种需求要求设置ViewState为false,或者环境条件限制使用Session或Cookie等等),那这个时候HiddenField无疑是最佳选择,也说明了简单实用的东西永远不会过期的道理。
HiddenField控件的主要成员有Value属性和ValueChanged事件:
Value:保存在隐藏输入框中的值。
ValueChanged:在Value值发生改变时触发该事件。
不过在我的调试过程中,发现还应该再设置HiddenField控件的EnableViewState属性为False方可,默认为True的情况下将视Value值没有发生改变,从而无法触发该事件。
//后台代码
protected void HiddenField_ValueChageed(object sender, EventArgs e) { PanelEditOpinion.Visible = false; }
//前台代码 <asp:HiddenField runat="server" ID="HF_ItemID" OnValueChanged="HiddenField_ValueChageed" EnableViewState="false" />