ListView, DataPager-Steuerelement ist nicht paging
ListView ist die Anzeige korrekt und das DataPager-Steuerelement ist die Anzeige der Schaltflächen am unteren Rand, aber wenn ich den WEITER-button klicken, das DataPager-Steuerelement ist nicht gehen, um die nächste Seite mit Daten.
ASPX-Seite:
<div id="EventListing">
<asp:ListView ID="ListEvents" runat="server">
<LayoutTemplate>
<div ID="itemPlaceholder" runat="server">
</div>
<div id="pagerFormat">
<asp:DataPager ID="ListingDataPager" runat="server" PageSize="5" PagedControlID="ListEvents" QueryStringField="page" >
<Fields>
<asp:NextPreviousPagerField
FirstPageText="First"
LastPageText="Last"
NextPageText="Next"
PreviousPageText="Back" />
</Fields>
</asp:DataPager>
</div>
</LayoutTemplate>
<ItemTemplate>
<table id="tblEvents">
<tr>
<td rowspan="4" id="Col1Events"></td>
<td rowspan="4" id="Col2Events"></td>
<td rowspan="4" id="Col3Events"></td>
<td class="tdEvents"><span style="font-weight:bold; font-size: 1em;"><%#Eval("EVENT_DATERANGE") %>: <%#Eval("EVENT_NAME") %></span></td>
</tr>
<tr>
<td class="tdEvents"> <span style="font-size: .9em;"><%#Eval("EVENT_DESC") %></span></td>
</tr>
<tr>
<td class="tdEvents"><span style="font-size: .9em;"><%#Eval("EVENT_STREET") %>, <%#Eval("CITY.CITY_NAME") %></span></td>
</tr>
<tr>
<td class="tdEvents"><span style="font-size: .9em;"><%#Eval("EVENT_PHONE") %></span></td>
</tr>
<tr>
<td colspan="4" id="tdEmpty"></td>
</tr>
</table>
</ItemTemplate>
</asp:ListView>
</div>
Code-Behind-Seite:
protected void btnFindEvents_Click(object sender, EventArgs e)
{
DateTime StartDt;
string EventType = ddlEventType.SelectedValue;
string dt = Request.Form["DatePickername"];
if (ddlEventType.SelectedIndex == 0)
{
EventType = "";
}
if (dt != "")
{
StartDt = Convert.ToDateTime(Request.Form["DatePickerName"]);
}
else
{
StartDt = DateTime.Now;
}
string CityName= ddlEventCity.SelectedValue;
if (ddlEventCity.SelectedIndex == 0)
{
CityName = "";
}
if ((ddlEventType.SelectedIndex == 0) && (ddlEventCity.SelectedIndex == 0))
{
//(1) ALL EVENTS
BLgetEvents obj = new BLgetEvents();
var EventList = obj.getAllEvents(StartDt);
ListEvents.DataSource = EventList;
ListEvents.DataBind();
}
}
InformationsquelleAutor Susan | 2012-07-11
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
haben Sie zum binden von Daten wieder auf die Listenansicht, wenn Sie die Seite von DataPager. So, Sie brauchen, um dies zu implementieren binden auf
PagePropertiesChanging
Ereignis in Ihrem ListView-Steuerelement. So etwas wie:Und auf Ihre asp.net webform, müssen Sie die Veranstaltung auf das listview-tag:
Wenn Sie legen Sie die datasource-code behine, das gleiche Prinzip gilt für die anderen datengebundenen controls wie GridView, DataList, Repeater etc (Sie müssen erneut auf einige paging-Ereignis). Ein alternativer Weg, um dieses Problem zu lösen, fügen Sie ein datasource-Steuerelement (wie objectdatasource, linqdatasource-Steuerelement, etc...), und legen Sie es auf die ListView
DataSourceID
Eigentum und das DataPager-Steuerelement wird automatisch arbeiten.Für mehr details, sehen Sie unter diesem link: http://weblogs.asp.net/hajan/archive/2011/09/08/paging-listview-using-datapager-without-using-datasource-control.aspx
btnFindEvents_Click
und auf diePagePropertiesChanging
.