C# 在Gridview中分页,可以';我无法访问其他页面
我有一个web应用程序,每次我上传Excel文件时,它的内容都会出现在Gridview中,Gridview与DataTable绑定在一起。 使用这些属性,我将分页和排序设置为true 当我使用fileupload和submit按钮输入文件时,web应用程序的底部会显示页码。 它也能正确排序(我的页面大小设置为10),但是,当我点击下一个页面(例如第2页)时,在我上传另一个文件并再次点击提交之前,不会显示任何内容 这是我构建表的代码:C# 在Gridview中分页,可以';我无法访问其他页面,c#,gridview,paging,C#,Gridview,Paging,我有一个web应用程序,每次我上传Excel文件时,它的内容都会出现在Gridview中,Gridview与DataTable绑定在一起。 使用这些属性,我将分页和排序设置为true 当我使用fileupload和submit按钮输入文件时,web应用程序的底部会显示页码。 它也能正确排序(我的页面大小设置为10),但是,当我点击下一个页面(例如第2页)时,在我上传另一个文件并再次点击提交之前,不会显示任何内容 这是我构建表的代码: protected void AddResultToGrid(
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();
}
提前感谢您的帮助(:
好的,我为我的程序制作了一个模拟数据表。它的行为就像你描述的那样。第二页总是空白的。我将数据表设置为静态,它就工作了。下面是我的最终代码:
namespace EorManager
{
public partial class _Default : System.Web.UI.Page
{
//Must be static
static DataTable data = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
//On FIRST page load I call my BindGridview method.
//Afterward I only call my BindGridview method from events
if (!IsPostBack)
{
//make a column
DataColumn myDataColumn = new DataColumn();
myDataColumn.DataType = Type.GetType("System.String");
myDataColumn.ColumnName = "url";
data.Columns.Add(myDataColumn);
//add rows
DataRow row;
row = data.NewRow();
row["url"] = "www.google.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.facebook.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.stackoverflow.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.google.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.facebook.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.stackoverflow.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.google.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.facebook.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.stackoverflow.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.google.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.facebook.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.stackoverflow.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.google.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.facebook.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.stackoverflow.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.google.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.facebook.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.stackoverflow.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.google.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.facebook.com";
data.Rows.Add(row);
row = data.NewRow();
row["url"] = "www.stackoverflow.com";
data.Rows.Add(row);
BindGridview();
}
}
private void BindGridview()
{
grdEOR.DataSource = data;
grdEOR.DataBind();
}
protected void grdEor_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
grdEOR.PageIndex = e.NewPageIndex;
BindGridview();
}
}
}
这是我的GridView代码:
<asp:GridView ID="grdEOR" runat="server" BackColor="White"
BorderColor="#999999" OnPageIndexChanging="grdEor_PageIndexChanging"
BorderStyle="Solid" BorderWidth="1px" CellPadding="3" ForeColor="Black" GridLines="Vertical"
AllowPaging="True"
PageSize="15"
>
<PagerSettings Mode="NumericFirstLast" />
<FooterStyle BackColor="#CCCCCC" />
<PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2D41F7" />
<AlternatingRowStyle BackColor="#CCCCCC" BorderColor="Black"
BorderStyle="Solid" BorderWidth="5px" />
</asp:GridView>
<asp:GridView ID="grdEOR" runat="server" BackColor="White"
BorderColor="#999999" OnPageIndexChanging="grdEor_PageIndexChanging"
BorderStyle="Solid" BorderWidth="1px" CellPadding="3" ForeColor="Black" GridLines="Vertical"
AllowPaging="True"
PageSize="15"
>
<PagerSettings Mode="NumericFirstLast" />
<FooterStyle BackColor="#CCCCCC" />
<PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2D41F7" />
<AlternatingRowStyle BackColor="#CCCCCC" BorderColor="Black"
BorderStyle="Solid" BorderWidth="5px" />
</asp:GridView>