我有一個ASP.NET Web窗體上的GridView,我已綁定到數據源並將其設置爲每頁有10個記錄。離開Gridview後維護GridView當前頁面索引頁面
我在GridView上也有超鏈接列,這樣用戶可以從列表中導航到另一個頁面(詳細信息頁面)。在詳細資料頁面,他們有「後退」按鈕返回到GridView頁面
編輯
只是爲了澄清查詢
我在尋找關於如何指定服務器端示例代碼段數據綁定後設置GridView的頁面索引。這個想法是確保用戶導航到他們所在的相同頁面索引。
我有一個ASP.NET Web窗體上的GridView,我已綁定到數據源並將其設置爲每頁有10個記錄。離開Gridview後維護GridView當前頁面索引頁面
我在GridView上也有超鏈接列,這樣用戶可以從列表中導航到另一個頁面(詳細信息頁面)。在詳細資料頁面,他們有「後退」按鈕返回到GridView頁面
編輯
只是爲了澄清查詢
我在尋找關於如何指定服務器端示例代碼段數據綁定後設置GridView的頁面索引。這個想法是確保用戶導航到他們所在的相同頁面索引。
三個在您的處置基本選項更新您的鏈接。他們每個人都有自己的缺點和長處:
編輯:設置頁面索引的小代碼片段。
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
try
{
if(HttpContext.Current.Request["myGVPageId"] != null])
{
myGridview.PageIndex = Convert.ToInt32(HttpContext.Current.Request["myGVPageId"]);
}
}
catch(Exception ex)
{
// log it
}
}
}
你必須使用查詢字符串,並建議使用,否則你可以使用會話對象,但不要使用它,因爲你可能有網格視圖在不同的頁面打開,所以使用查詢字符串。查詢字符串,會話cookie的:
gridView1.CurrentPageIndex = (Request["pageNo"] != null) ? Request["pageNo"] as int : 0;
gridView1.DataSource = myDataSet;
gridView1.DataBind();
你可以GridView_DataBound
事件
我更會話方法的風扇,個人。只需將頁面索引保存爲會話變量,並且如果在加載頁面時該Session變量不爲空,則使用它來激活「OnPageIndexChanging」方法,如下所示:
設置當前頁碼變化:
protected void GridViewIndexChanging(object sender, GridViewPageEventArgs e)
{
myGridView.PageIndex = e.NewPageIndex;
Session["pageNumber"] = e.NewPageIndex;
//whatever your page index changing does...
}
然後,在Page_Load中做這樣的事情:
if (!IsPostBack)
{
if (Session["pageNumber"] != null)
{
GridViewIndexChanged(myGridView, new GridViewPageEventArgs((int)Session["pageNumber"]));
}
}
您可以正餐的GridView的頁面索引更改事件,並找出當前的頁面索引E:摹
yourGridId.PageIndex=e.NewPageIndex;
ViewState["GridPageIndex"]=e.NewPageIndex;
在pageLoad的獲取ViewState的價值
string pIndex=string.Empty;
pIndex=Convert.toInt32(ViewState["GridPageIndex"]);
if(!string.Empty(pIndex))
{
yourGridId.PageIndex =pIndex;
}
我編輯了查詢,我找了示例代碼段如何後在服務器端 – 2011-02-14 11:40:15
數據綁定GridView的設置頁面索引這是不正確的你「必須」使用查詢字符串... – LeeCambl 2014-09-04 19:36:18