簡體   English   中英

如何在ASP.NET Web表單中使用Ajax更新ListView中的值

[英]How to update values in a ListView with ajax in asp.net web form

我在asp.net Web表單中使用Listview和Ajax。 在該表格的一部分中,我顯示了一些評論,讀者可以對其進行正面或負面評價。 除非刷新頁面,否則不會更新此值,是否可以在不刷新頁面的情況下更新該值?

<asp:ScriptManager ID="ScriptManager" runat="server" EnablePageMethods="true">
    </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel" runat="server">
            <ContentTemplate>
                <asp:ListView ID="ListView1" runat="server" OnItemCommand="ListView1_ItemCommand">
                    <ItemTemplate>
                        <div class="row comm_info_bar ">
                            <div class="col-md-5 RightDisplay"><%# Eval("name") %></div>
                            <div class="col-md-5 comm_info_date"><%# Eval("date") %></div>

                            <asp:LinkButton ID="negBtn" class="glyphicon glyphicon-minus voteCommentIcon voteContNeg text-danger smallGlyph" runat="server" CommandName="negative" CommandArgument='<%#Eval("id")%>' />

                            <asp:Label ID="lblnegative" name="lblnegative" class=" voteNumNeg" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "negative") %>'></asp:Label>

                            <asp:LinkButton ID="posBtn" class="glyphicon glyphicon-plus voteCommentIcon voteContNeg text-success smallGlyph" runat="server" CommandName="positive" CommandArgument='<%#Eval("id")%>' />
                            <asp:Label ID="lblpositive" class="voteNumPos" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "positive") %>'></asp:Label>

                        </div>
                        <div class="row">
                            <div class="col-md-12 comments"><%# Eval("text") %></div>
                        </div>
                    </ItemTemplate>
                </asp:ListView>
            </ContentTemplate>
        </asp:UpdatePanel>

並在代碼中:

static List<Int64> commentsUser = new List<long>();
protected void ListView1_ItemCommand(object sender, ListViewCommandEventArgs e)
{
    string name = e.Item.DataItemIndex.ToString();
    long commentId = Convert.ToInt64(e.CommandArgument);
    ArticleCommentsDataClass ArticleComment = new ArticleCommentsDataClass();

    if (e.CommandName == "positive")
    {
        if (!searchcomments(commentId))
        {
            ArticleComment.Comments_positive(commentId);
            commentsUser.Add(commentId);
        }
    }
    else
    {
        if (!searchcomments(commentId))
        {
            ArticleComment.Comments_negative(commentId);
            commentsUser.Add(commentId);
        }
    }
}

是否有人對如何執行此操作有想法?

聽起來您在執行命令之前已經綁定(讀取網格的數據)。 由於該命令更改了數據,因此您應該重新綁定網格或以任何其他方式更新它。

查看這篇文章,該文章討論每個事件何時引發

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM