グリッドビューを使用して検索結果を表示します。検索ボタンをクリックすると、グリッドビューにページ 1 が表示されますが、ページ 2 のリンクをクリックするとグリッドビューが消え、再度検索ボタンをクリックしてページ 2 のコンテンツを表示すると元に戻りました。
ここに私のコードがあります
<asp:GridView ID="searchresult" runat="server" AutoGenerateColumns="true" AllowPaging="true" OnRowDataBound="searchresult_RowDataBound" OnPageIndexChanging="searchresult_PageIndexChanging"
HeaderStyle-BackColor="#f9e4d0"
HeaderStyle-Height="20px"
Font-Size="11px"
AlternatingRowStyle-BackColor="#cfdfef"
Width="800px" style="text-align:left">
</asp:GridView>
コードビハインド
protected void search_Click(object sender, EventArgs e)
{
List<someclass> totalResult = new List<someclass>();
..... //some code to generate the datasource
searchresult.DataSource = totalResult;
searchresult.AllowPaging = true;
searchresult.DataBind();
}
protected void searchresult_RowDataBound(object sender, GridViewRowEventArgs e)
{
}
protected void searchresult_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
searchresult.PageIndex = e.NewPageIndex;
DataBind();
}
検索ボタンをもう一度クリックするまで、ページ 2 が表示されない理由がわかりません。ページ 2 のリンクをクリックすると、ページはポストバックされましたが、RowDataBound イベントは発生しませんでした