Использование ListView DataPager для прокрутки результатов. Связанные данные хорошо отображаются на веб-странице, но когда я нажимаю кнопку «Далее», чтобы получить следующую страницу результатов, я получаю PostBack и страница сбрасывается, и данные исчезают.
Страница состоит из формы слева, которая позволяет вводить параметры для поиска. После нажатия кнопки результаты поиска публикуются в главном разделе страницы. Первая страница результатов идеальна, но когда я нажимаю «Далее», форма слева сбрасывается, и результаты в основной части страницы исчезают в результате PostBack.
Страница ASPX
<%--LISTVIEW--%>
<div id="EventGrid" class="pb-4 px-2 ml-2" style="font-size: .9em">
<asp:ListView ID="EventList" runat="server" class="mx-4">
<%-- LAYOUT TEMPLATE--%>
<LayoutTemplate>
<div id="itemPlaceholder" runat="server">
</div>
<div id="pagerFormat">
<asp:DataPager ID="ListingDataPager" runat="server" PageSize="4" PagedControlID="EventList" QueryStringField="page">
<Fields>
<asp:NextPreviousPagerField
NextPageText="Next"
PreviousPageText="Back" />
</Fields>
</asp:DataPager>
</div>
</LayoutTemplate>
<%-- ITEM TEMPLATE--%>
<ItemTemplate>
<div id="TemplateSize">
<a href="<%#Eval("E_URL") %>"><h6 class="font-weight-bold text-primary" style="text-decoration: underline"><%#Eval("E_Name") %></h6></a>
<span class="eventLabel">Address: </span><%#Eval("E_Street") %>, <%#Eval("E_City") %><br />
<span class="eventLabel">Start Date: </span><%#Eval("E_StartDt") %><br />
<span class="eventLabel">Description:</span><%#Eval("E_Description") %>
</div>
</ItemTemplate>
</asp:ListView>
</div>
**CODE BEHIND**
protected void btnFindEvents_Click(object sender, EventArgs e)
{
//CONVERT DATES TO DATETIME
CultureInfo culture = new CultureInfo("en-US");
DateTime startDate = Convert.ToDateTime( txtEventStDt.Text + " 00:00:00 AM", culture);
DateTime endDate = Convert.ToDateTime(txtEventEdDt.Text + " 00:00:00 AM", culture);
if (ddlType.SelectedValue == "All Events")
{
BL_getEvents obj = new BL_getEvents();
var results = obj.getAllEvents(startDate, endDate);
EventList.DataSource = results;
EventList.DataBind();
}
else
{
BL_getEvents obj = new BL_getEvents();
var results = obj.getEventsByType(startDate, endDate, ddlType.SelectedValue.ToString());
EventList.DataSource = results;
EventList.DataBind();
}
}