Кнопка «Далее» ListView DataPager вызывает обратную передачу - PullRequest
0 голосов
/ 17 января 2020

Использование 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();
            }

        }
...