为什么设置了自动分页的GridView放到if(IsPostBack)里换页时变成了空白?

liuyeede 2009-03-09 11:32:05

protected void Page_Load(object sender, EventArgs e)
{
string sqlStr = "Select CompanyName,ContactName,Phone From Customers";
string connStr = ConfigurationManager.ConnectionStrings["TestSqlConnection"].ConnectionString;
if (!IsPostBack)
{
SqlConnection conn = new SqlConnection(connStr);
DataSet dt = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sqlStr, conn);
try
{
conn.Open();
da.Fill(dt, "Customers");
allRowsCount = dt.Tables["Customers"].Rows.Count;
}
catch
{
throw new ApplicationException("数据库错误");
}
finally
{
conn.Close();
}

this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}

}


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
PagerSettings-Mode="NumericFirstLast" AllowPaging="True"
OnPageIndexChanging="PageIndexChanging" OnPageIndexChanged="PageIndexChanged">
<Columns>
<asp:BoundField DataField="CompanyName" HeaderText="公司名称" />
<asp:BoundField DataField="ContactName" HeaderText="联系人" />
<asp:BoundField DataField="Phone" HeaderText="联系电话" />
<asp:TemplateField HeaderText="测试DropDownList" ShowHeader= "true">
<ItemTemplate>
<asp:LinkButton ID="lbt" runat="server" Text="测试" OnClick="btn_Click"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">LinkButton</asp:LinkButton>
</div>
</form>
</body>
</html>
...全文
201 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ustbwuyi 2009-03-09
  • 打赏
  • 举报
回复

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGridView();
}
}
protected void BindGridView()
{
string sqlStr = "Select CompanyName,ContactName,Phone From Customers";
string connStr = ConfigurationManager.ConnectionStrings["TestSqlConnection"].ConnectionString;
if (!IsPostBack)
{
SqlConnection conn = new SqlConnection(connStr);
DataSet dt = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sqlStr, conn);
try
{
conn.Open();
da.Fill(dt, "Customers");
allRowsCount = dt.Tables["Customers"].Rows.Count;
}
catch
{
throw new ApplicationException("数据库错误");
}
finally
{
conn.Close();
}

this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}

}

protected void PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
BindGridView();
}
liuyeede 2009-03-09
  • 打赏
  • 举报
回复
赶紧来接分吧。问题搞定了。
liuyeede 2009-03-09
  • 打赏
  • 举报
回复
   protected void PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧