グリッドビューがあり、最初のページにバインドします。検索ボタンがクリックされたときに同じページに検索オプションがあります。私は検索結果から来て新しいデータソースでgridviewを再バインドし、問題はグリッドビューを再バインドした後私は最初のpageloadデータバインディングでそれらを持っていないページングの問題があります!誰が私になぜそれが言えるだろうか?asp.net gridviewページングの問題を検索結果のために再バインドする場合
protected void Page_Load(object sender, EventArgs e)
{
DisableChaching();
string val = Convert.ToString(Session["AccessLevel"]);
if (Request.Cookies["UserName"] == null)
{
if (Session["UserName"] == null)
{
Response.Redirect("~/Default.aspx");
}
else if (val == "2")
{
Response.Redirect("~/Default.aspx");
}
}
else if (val == "2")
{
Response.Redirect("~/Default.aspx");
}
if (!IsPostBack)
{
LoadControls();
BindGrid();
}
}
マイGV_PageIndexChanging:
protected void GV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GV.PageIndex = e.NewPageIndex;
BindGrid();
PageStatus(Status.None);
}
私btnSearch_Click:
protected void btnSearch_Click(object sender, ImageClickEventArgs e)
{
query = new CommonQueries();
GV.DataSource = query.getBooksByGroupIDSubGroupID(DrpGroup.SelectedItem.Value,DrpSubGroup.SelectedItem.Value);
GV.DataBind();
}
そしてCommonQueriesクラスで私はbefor使用このクエリウィッヒを持っている。ここ
は私のPage_Load COEです:
public List<Book> getBooksByGroupIDSubGroupID(string GroupID, string SubGroupID)
{
db = new BookMarketDataContext();
List<Book> list = new List<Book>();
list = (from b in db.Books where b.GroupID.ToString() == GroupID && b.SubGroupID.ToString() == SubGroupID orderby b.Name select b).ToList();
return list;
}
私のページの読み込みでは、グリッドビューの変更に問題はありません。 検索ボタン「btnSearch」をクリックしてからグリッドビューを再バインドした後、グリッドビューがpagenumbersを持っていて、私がこれらのページ番号の1つをクリックすると、前のpage_Loadから間違った結果が得られます!
ソースコード、スクリーンショット、最も重要なのは何が問題の正確な性質か、予想通りに動作しないものを追加する必要があります。 – Constantin
@コンスタンチン - 私は私の質問を編集し、より多くを説明しました、私はあなたが今私を助けることを願っています! – Karamafrooz