gpt4 book ai didi

c# - 从 url 值导航 gridview 页面

转载 作者:可可西里 更新时间:2023-11-01 08:40:40 27 4
gpt4 key购买 nike

我有一个启用了分页的数据库驱动的 gridview。一切正常,并且在 page_load 上绑定(bind)如下:

sqldataadapter da = new saldatadapter("sql query"), con);
datatable dt = new datatable();
gridview1.datasource = dt;
gridview1.databind();

是否有一个选项可以让页码自动出现在 url 中?我想这样做的原因是我可以通过电子邮件将页码发送给 url,然后当用户单击该 url 时,它会导致 gridview 显示来自正确页面的数据。

更新 2 - 请求的当前完整代码:

public partial class conflict_search_Default : System.Web.UI.Page
{

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{

if (Request.QueryString["page"] != null)
{

int index = int.Parse(Request.QueryString["page"]);
GridView1.PageIndex = index;
BindData();


}
else
{

BindData();

}

}
else
{

BindData();

}
}

private void BindData()
{
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["connString"]);
SqlDataAdapter da = new SqlDataAdapter("sql query here which returns over 100 pages", con);

DataTable dt = new DataTable();
da.Fill(dt);

GridView1.DataSource = dt;

GridView1.DataBind();
}

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
int index = e.NewPageIndex + 1;
string url = HttpContext.Current.Request.Url.AbsoluteUri;
e.Cancel = true;

Response.Redirect(string.Format("{0}?page={1}", url, index));
}

protected void GridView1_PageIndexChanged(object sender, EventArgs e)
{
BindData();
}
}

当我尝试单击数据网格底部的分页号码时,这给了我一个错误。错误如下:

如果我重新加载页面,它就会加载。如果我然后单击第 5 页,它会在 url 中显示 ?page=5 这是我所期望的,但由于某种原因,在屏幕底部的页码上选择了第 6 页.例如,如果我然后单击第 10 页,则 url 更改为 ?page=5?page=10 这显然是错误的,这会给出错误:

Input string was not in a correct format. 
int index = int.Parse(Request.QueryString["page"]);

最佳答案

使用:

protected void GridView1_PageIndexChanging(Object sender, GridViewPageEventArgs e)
{
int index = e.NewPageIndex + 1;
string url = HttpContext.Current.Request.Url.AbsoluteUri;
e.Cancel;

Response.Redirect(string.Format("{0}?page={1}", url, index));
}

PageLoad(...)
{
if (!Page.IsPostBack)
{
if (Request.QueryString["page"] != null)
{
int index = int.Parse(Request.QueryString["page"]);
// bind your gridview
GridView1.PageIndex = index;
}
}
}

来自 GridView Paging and Sorting with url parameters

关于c# - 从 url 值导航 gridview 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19184403/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com