0

atm Webページの読み込み時間を短縮しようとしています。このため、JSへのすべての長い読み込みメソッドを抽出するか、PageMethod / WebMethodとして、ページの構築後にそれを読み込み、ユーザーにより良い感覚を与えようとします...

これで、ユーザーがプライベート メッセージ ボックスをクリーンアップしないと、約 100 ~ 200 個のエントリ atm が読み込まれる ODS を備えた GridView ができました。したがって、最初の (たとえば) 20 エントリを表示し、後で他のエントリをロードしたいので、99% の場合、ユーザーは最初のエントリの 1 つだけを必要とします。

これが私のコード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 をリロードして、すべてのエントリをリロードし、すべてのエントリを上書きする方法描かれたテーブル?

4

1 に答える 1