ASP.NET中,HiddenField隱藏控制元件的用法
阿新 • • 發佈:2018-12-30
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(); }