AspNetPager+mysql+数据集+ObjectDataSource+ListView 做的翻页

xiaoxiao2021-02-28  98

aspnetpager控件.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="高效分页aspnetpager控件.aspx.cs" Inherits="MyWebApplication.增删改查.高效分页aspnetpager控件" %> <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" InsertMethod="Insert" OldValuesParameterFormatString="original_{0}" SelectMethod="getPagedData" TypeName="MyWebApplication.增删改查.App_Data.DataSetUserTableAdapters.t_userTableAdapter" UpdateMethod="DisableUserByID" EnablePaging="True" SelectCountMethod="QueryCount" StartRowIndexParameterName="startIndex" MaximumRowsParameterName="pageSize" OnSelecting="ODS_Selecting"> <InsertParameters> <asp:Parameter Name="p1" Type="Int32" /> <asp:Parameter Name="p2" Type="String" /> <asp:Parameter Name="p3" Type="Int32" /> <asp:Parameter Name="p4" Type="String" /> </InsertParameters> <SelectParameters> <asp:ControlParameter ControlID="AspNetPager1" PropertyName="StartRecordIndex" DefaultValue="0" Name="startIndex" Type="Int32" /> <asp:ControlParameter ControlID="AspNetPager1" PropertyName="PageSize" DefaultValue="10" Name="pageSize" Type="Int32" /> </SelectParameters> <UpdateParameters> <asp:Parameter Name="id" Type="Int32" /> </UpdateParameters> </asp:ObjectDataSource> </div> <asp:ListView ID="ListView1" runat="server" DataSourceID="ObjectDataSource1" InsertItemPosition="LastItem"> <AlternatingItemTemplate> <tr style=""> <td> <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" /> </td> <td> <asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>' /> </td> <td> <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>' /> </td> <td> <asp:Label ID="ageLabel" runat="server" Text='<%# Eval("age") %>' /> </td> <td> <asp:Label ID="statusLabel" runat="server" Text='<%# Eval("status") %>' /> </td> </tr> </AlternatingItemTemplate> <EditItemTemplate> <tr style=""> <td> <asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="更新" /> <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="取消" /> </td> <td> <asp:TextBox ID="idTextBox" runat="server" Text='<%# Bind("id") %>' /> </td> <td> <asp:TextBox ID="nameTextBox" runat="server" Text='<%# Bind("name") %>' /> </td> <td> <asp:TextBox ID="ageTextBox" runat="server" Text='<%# Bind("age") %>' /> </td> <td> <asp:TextBox ID="statusTextBox" runat="server" Text='<%# Bind("status") %>' /> </td> </tr> </EditItemTemplate> <EmptyDataTemplate> <table runat="server" style=""> <tr> <td>未返回数据。</td> </tr> </table> </EmptyDataTemplate> <InsertItemTemplate> <tr style=""> <td> <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="插入" /> <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="清除" /> </td> <td> <asp:TextBox ID="idTextBox" runat="server" Text='<%# Bind("id") %>' /> </td> <td> <asp:TextBox ID="nameTextBox" runat="server" Text='<%# Bind("name") %>' /> </td> <td> <asp:TextBox ID="ageTextBox" runat="server" Text='<%# Bind("age") %>' /> </td> <td> <asp:TextBox ID="statusTextBox" runat="server" Text='<%# Bind("status") %>' /> </td> </tr> </InsertItemTemplate> <ItemTemplate> <tr style=""> <td> <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" /> </td> <td> <asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>' /> </td> <td> <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>' /> </td> <td> <asp:Label ID="ageLabel" runat="server" Text='<%# Eval("age") %>' /> </td> <td> <asp:Label ID="statusLabel" runat="server" Text='<%# Eval("status") %>' /> </td> </tr> </ItemTemplate> <LayoutTemplate> <table runat="server"> <tr runat="server"> <td runat="server"> <table id="itemPlaceholderContainer" runat="server" border="0" style=""> <tr runat="server" style=""> <th runat="server"></th> <th runat="server">id</th> <th runat="server">name</th> <th runat="server">age</th> <th runat="server">status</th> </tr> <tr id="itemPlaceholder" runat="server"> </tr> </table> </td> </tr> <tr runat="server"> <td runat="server" style=""></td> </tr> </table> </LayoutTemplate> <SelectedItemTemplate> <tr style=""> <td> <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" /> </td> <td> <asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>' /> </td> <td> <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>' /> </td> <td> <asp:Label ID="ageLabel" runat="server" Text='<%# Eval("age") %>' /> </td> <td> <asp:Label ID="statusLabel" runat="server" Text='<%# Eval("status") %>' /> </td> </tr> </SelectedItemTemplate> </asp:ListView> <webdiyer:AspNetPager ID="AspNetPager1" runat="server" AlwaysShow="true" ShowCustomInfoSection="Left" PageSize="3" ></webdiyer:AspNetPager> </form> </body> </html>

aspnetpager控件.aspx.cs

using MyWebApplication.增删改查.App_Data.DataSetUserTableAdapters; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace MyWebApplication.增删改查 { public partial class 高效分页aspnetpager控件 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { t_userTableAdapter dal = new t_userTableAdapter(); AspNetPager1.RecordCount = Convert.ToInt32(dal.QueryCount(1,1)); } } protected void ODS_Selecting(object sender, ObjectDataSourceSelectingEventArgs e) { if (!e.ExecutingSelectCount) { e.Arguments.StartRowIndex = AspNetPager1.StartRecordIndex-1; e.Arguments.MaximumRows = AspNetPager1.PageSize; } } } }

数据集 QueryCount内容 SELECT COUNT(*) FROM t_user getPagedData内容 SELECT id, name, age, status FROM t_user  limit  @startIndex, @pageSize 注意 1这两个查询都可配参数,即使QueryCount没有用到参数也可配,不然会报asp.net中ObjectDataSource“”未能找到不带参数的非泛型方法“ 可能是为了条件查询时翻页用的,所以假装传二个数进去 2 <asp:ControlParameter ControlID="AspNetPager1" PropertyName="StartRecordIndex" DefaultValue="0" Name="startIndex" Type="Int32" /> <asp:ControlParameter ControlID="AspNetPager1" PropertyName="PageSize" DefaultValue="10" Name="pageSize" Type="Int32" /> 这里面设置的两个默认值都没有起到作用,不知为何? 每页条数取的是: <webdiyer:AspNetPager ID="AspNetPager1" runat="server" AlwaysShow="true" ShowCustomInfoSection="Left" PageSize="3"   ></webdiyer:AspNetPager> 起始条设的0,可是得到的是1 <asp:ControlParameter ControlID="AspNetPager1" PropertyName="StartRecordIndex"DefaultValue="0" Name="startIndex" Type="Int32" /> 因些只能在代码里调整-1 希望有知道的回复一下

转载请注明原文地址: https://www.6miu.com/read-53383.html

最新回复(0)