在Gridview中分页,无法访问其他页面

时间:2010-07-22 17:39:26

标签: c# gridview paging

我有一个网络应用程序,每次上传Excel文件时,其内容都会显示在Gridview中,并与DataTable绑定。 使用这些属性,我将分页和排序设置为true。

当我使用fileupload和提交按钮输入文件时,Web应用程序底部会显示页码。 它也正确地对它进行排序,(我的页面大小设置为10),但是,当我点击下一页(例如第2页)时,在我上传另一个文件并再次点击提交之前,没有任何内容显示。

这是我构建表格的代码:

protected void AddResultToGrid(String url, String result)
{
  data = (DataTable)Session["URLSessionData"];
  DataRow dr = data.NewRow();
  dr[0] = url;
  dr[1] = result;
  data.Rows.Add(dr);

  gdvResults.DataSource = data;
  gdvResults.DataBind();
  Session["URLSessionData"] = data;
}

这是页面加载:

protected void Page_Load(object sender, EventArgs e)
{
  lblFiup.Text = "";

    data.Columns.Add("URL", typeof(String));
    data.Columns.Add("Status", typeof(String));
    gdvResults.DataSource = data;
    gdvResults.DataBind();

  gdvResults.AllowPaging = true;
  gdvResults.AllowSorting = true;
  if (!Page.IsPostBack)
  {

    Session["URLSessionData"] = data;
  }
}

我认为它可能与页面索引有关...但我不确定。 这是我的页面索引更改方法:

    protected void gdvResults_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {

        e.NewPageIndex = e.NewPageIndex + 1;
        DataBind();

    }

提前感谢您的帮助(:


    public partial class _Event : System.Web.UI.Page
    {
        public HttpWebRequest req;
        public HttpWebResponse resp;
        public String link;
        public String line;
        public String stat;
        public String result;
        public DataTable data = new DataTable();
        public DataTable clrdata = new DataTable();

        protected void Page_Load(object sender, EventArgs e)
        {
            lblFiup.Text = "";
            if (!Page.IsPostBack)
            {                
                data.Columns.Add("URL", typeof(String));
                data.Columns.Add("Status", typeof(String));
                AddResultToGrid("", ""); // this is the only way i know how to do this, as of now...
                data.Rows[0].Delete();

                 Session["URLSessionData"] = data;
                BindGridView();

            }
        }

        private void BindGridView()
        {
            gdvResults.DataSource = data;
            gdvResults.DataBind();
        }

        protected void AddResultToGrid(String url, String result)
        {
            data = (DataTable)Session["URLSessionData"];
            DataRow dr = data.NewRow();
            dr[0] = url;
            dr[1] = result;
            data.Rows.Add(dr);

            gdvResults.DataSource = data;
            gdvResults.AllowPaging = true;
            gdvResults.DataBind();
            Session["URLSessionData"] = data;
        }

1 个答案:

答案 0 :(得分:2)