ASP.NET中,HiddenField隐藏控件的用法

HiddenField控件就是隐藏输入框的服务器控件,他能让你保存那些不必显示在页面上的且对安全性需求不高的数据。也许这个时候应该有这么一个疑问,为什么有了ViewState、Session和Cookie等状态保存机制,还需要用起HiddenField呢?


增加HiddenField,其实是为了让整个状态管理机制的应用程度更加全方面。因为不管是ViewState、Cookie还是Session,都有其失效的时候,比如用户因某种需求设置ViewState为false,或环境条件限制使用Cookie,或用户长时间没有动作导致Session过期等等,那这个时候HiddenField无疑是最佳选择。

 一般可以用于排序方式的选择:

如前台代码:

<webdiyer:AspNetPager ID="AspNetPager1" runat="server" Width="100%" ShowPageIndexBox="Always" 
        PageIndexBoxType="DropDownList" TextBeforePageIndexBox="转到:" HorizontalAlign="Center"
        PageSize="20" AlwaysShow="True" OnPageChanged="AspNetPager1PageChanged"
        CssClass="pagination" CurrentPageButtonClass="active" 
        ShowCustomInfoSection="Right"
        CustomInfoHTML="当前第%CurrentPageIndex%/%PageCount%页 共%RecordCount%条记录 每页%PageSize%条">
</webdiyer:AspNetPager>
        <asp:HiddenField runat="server" ID="SortType"/>
        <asp:HiddenField runat="server" ID="SortField"/>

后台加载数据的部分代码:

 

private void LoadData()
        {
            int count;
            int pagesize = AspNetPager1.PageSize;
            var pageIndex = AspNetPager1.CurrentPageIndex;
            string order = "CreatedOn";
            //排序选择
            if (!string.IsNullOrEmpty(SortField.Value))//SortField为隐藏控件
            {
                order = SortField.Value;
            }
            if (SortType.Value == "asc")//SortOrder为隐藏控件,正序
            {
                _sortOrder = SortOrder.Ascending;
            }
            var list = _chemicalAdapter.FetchChemicals(_Name.Text,_Number.Text,null, pageIndex,
                pagesize, order, _sortOrder, out count);
            AspNetPager1.RecordCount = count;
            _ProjectGrid.DataSource = list;
            _ProjectGrid.DataBind();
        }

发布了19 篇原创文章 · 获赞 16 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/wmin510/article/details/51602227