我有一个 GridView,
<asp:GridView ID="managerList" runat="server" DataSourceID="SqlDataSource2">
在后面的代码中,
protected void Page_Load(object sender, EventArgs e)
{
SqlDataSource2.SelectCommand = "select * from manager";
managerList.AllowPaging = true;
}
当我加载页面时,它工作正常,分页也工作正常。
然后我想通过单击搜索按钮来获取列表的子集:
protected void btnSearch_Click(object sender, EventArgs e)
{
SqlDataSource2.SelectCommand = "select * from manager where age > 30";
managerList.DataBind();
}
它工作正常,给我列表的子集。
但是,当我单击“下一页”时,它会给我整个列表,第 2 页。我知道这是因为它发送回发,并且绑定了原始选择命令。但是,当我单击“下一页”时,我该怎么做才能给我列表的子集?
谢谢!
更新: 如果我将代码更改为:
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
SqlDataSource2.SelectCommand = "select * from manager";
managerList.AllowPaging = true;
}
}
当我单击“下一页”时,它给了我一个空列表。
可能很想添加 IsPostBack,但这不起作用。