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();
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。