我有一个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