私は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が表示されます。ポストバックを送信し、元のselectコマンドをバインドするためです。しかし、「次のページ」をクリックしたときにリストのサブセットを表示するにはどうすればよいですか?
ありがとうございました!
更新: コードをこれに変更した場合:
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
SqlDataSource2.SelectCommand = "select * from manager";
managerList.AllowPaging = true;
}
}
「次のページ」をクリックすると、空のリストが表示されます。
IsPostBackを追加したくなるかもしれませんが、これは機能しません。