使用 JS 重新加载 GridView 数据以节省时间
Reload GridView Data with JS to save time?
atm 我尝试减少网页中的加载时间,为此我尝试将每个长加载方法提取到 JS 或作为 PageMethod/WebMethod 在页面构建后加载它,给用户更好的感觉......
现在我有一个带有 ODS 的 GridView,它加载了大约 100-200 个条目 atm,如果用户不清理他的私人消息框,它会更多。所以我想现在显示前 20 个条目,然后加载其他条目,因此在 99% 的情况下,用户只想要第一个条目之一。
这是我的代码 atm:
<asp:ObjectDataSource ID="odsIncome" runat="server" SelectMethod="GetAllPMsAsReciepient"
TypeName="DAL.PMDAL">
<SelectParameters>
<asp:CookieParameter CookieName="UserID" DbType="Guid" Name="userID" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:GridView ID="gridIn" runat="server" AutoGenerateColumns="False" DataSourceID="odsIncome"
OnRowDataBound="gridItemOverview_RowDataBound" AllowPaging="True" EmptyDataText="Keine Nachrichten vorhanden"
PageSize="50" Width="100%" OnRowCommand="gridIn_RowCommand" OnPreRender="gridIn_PreRender">
<HeaderStyle BackColor="#bfcfde" BorderColor="Gray" />
<RowStyle BackColor="#ccdded" BorderColor="Gray" />
<EmptyDataRowStyle BackColor="#ccdded" BorderColor="Gray" CssClass="emptyDataRow" Height="30px" HorizontalAlign="Center" />
<Columns>
<asp:TemplateField HeaderText="Betreff" HeaderStyle-Width="550px" ItemStyle-HorizontalAlign="left">
<%--small 675--%>
<ItemTemplate>
<asp:Image ImageUrl="~/Images/unread.png" ID="imgUnread" runat="server" Width="10px" />
<asp:Image ImageUrl="~/Images/return3.png" ID="imgAnswered" runat="server" Width="10px" />
<asp:HyperLink CssClass="pmLink" ID="linkTitle" NavigateUrl='<%# Eval("PMID","~/PM/ShowPM.aspx?type=In&id={0}") %>'
runat="server"><%# Eval("Title") %></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Absender" HeaderStyle-Width="200px" ItemStyle-HorizontalAlign="left">
<%--small 250--%>
<ItemTemplate>
<asp:HyperLink CssClass="pmLink" ID="linkSender" NavigateUrl='<%# Eval("SenderID","~/User/ShowProfile.aspx?id={0}") %>'
runat="server"><%# Eval("User1.Username") %></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderStyle-Width="170px" ItemStyle-HorizontalAlign="left" DataField="Timestamp"
HeaderText="Datum" SortExpression="Timestamp">
<%--small 200--%>
</asp:BoundField>
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="imgDelete" Width="15px" ImageUrl="~/Images/delete.png" runat="server"
CommandName="dele" CommandArgument='<%# Eval("PMID") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
假设我制作了一个新方法来仅加载 20 个条目,我可以在 ODS 的 SelectMethod-Property 中输入该方法 - 但是在此之后如何使用 WebMethod 或 JS 重新加载 GridView/ODS 以重新加载所有条目并覆盖所有就绪绘制的表?
从WebMethod完成的任何操作都必须使用JavaScript代码重新加载。 使用 Web 方法时,无法从服务器执行此操作。 我强烈建议使用 ListView 控件,或者更好的是,使用模板框架,例如 JQuery 或其他框架中的几个插件之一。
但是,如果使用具有自定义分页方法的存储过程,则可以获得不错的性能,例如:
- https://web.archive.org/web/20211020131201/https://www.4guysfromrolla.com/webtech/042606-1.shtml
- 存储过程中的分页、排序和筛选 (SQL Server)
相关文章:
- 用程序搜索JQuery数据表中的文本
- 要求输入在数据列表中
- 正在将数据主题添加到所有项目
- 函数参数中的数据与指定变量之间的任何性能差异
- 在VanillaJS中模拟模型双向数据绑定
- CSS-如何定位内容数据标题
- ExtJS 5用程序点击actioncolumn gridview
- 如何在页面回发后保持Asp-Net GridView数据(来自SignalR)
- 使用 JS 重新加载 GridView 数据以节省时间
- 将 Gridview 数据保存在按钮中,然后再次加载
- 选择GridView的一行时如何显示隐藏列数据
- 只有当数据为数字或null时,才会触发删除GridView中的行时使用数据进行确认
- 将数据从弹出式gridview传递到父页面
- 使用ajax json c#将数据从数据库加载到gridview时出错
- 如何在使用JavaScript单击按钮时将选定的行数据从gridview传输到TextBoxes
- Gridview模板Javascript数据绑定
- 在end_request处理程序期间回发后,无法从asp gridview检索数据
- 在gridview行鼠标悬停,我想在另一个标签中显示行数据
- 获取javascript中的gridview数据键值
- 如何通过javascript保存GridView的数据