更新没有dataBind的gridview字段

时间:2012-09-09 15:46:29

标签: asp.net ajax gridview

我有一个显示评论的gridview。我希望如果一个人喜欢评论,按一个像按钮,我增加喜欢的总和,但我不想连接到数据库和绑定。我想用ajax做那件事。我怎样才能做到这一点? 这是我的代码:

<asp:UpdatePanel runat="server" id="UpdatePanel" >
  <ContentTemplate>
    <asp:GridView ID="grdCommentsForLoginnedUser" 
                  runat="server" 
                  AutoGenerateColumns="False" 
                  Width="100%" 
                  OnRowCommand="grdCommentsForLoginnedUser_RowCommand"
                  ViewStateMode="Inherit">
      <Columns>
        <asp:TemplateField >
          <ItemTemplate>
            <asp:HiddenField ID="hdnCommentID" runat="server"
                   Value='<%# Bind("CommentID") %>'/>              
              <table border="2" dir="rtl">
              <tr>
                <td rowspan="2" style="background-color: #6699FF" width="200px">
                  <asp:HyperLink ID="lnkCommenterName"
                        runat="server"
                        NavigateUrl='<%# Bind("CommenterProfile") %>'
                        Text='<%# Bind("CommenterName") %>' />                     
                </td>
                <td width="700px">
                  <br />
                  <asp:Label ID="lblCommentText" runat="server"
                        Text='<%# Bind("CommentText") %>' />
                  <br /> 
                </td>
              </tr>
              <tr>
                <td width="700px">
                  <asp:Label ID="lblPreviousAcceptOrNonAccept" runat="server"
                        Text='<%# Bind("PersonPreviousAcceptOrNonAccept") %>' />
                  <asp:LinkButton ID="lnkBtnRemovePreviousAcceptOrNonAccept" 
                        runat="server"   
                        Text='<%# Bind("RemovePersonPreviousAcceptOrNonAccept") %>'
                        CommandName="RemovePreviousAcceptOrNonAccept" 
                        CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" />
                  <br />
                  <asp:LinkButton ID="lnkBtnUpRate" runat="server" Text="Like"
                        Visible='<%# Bind("isLikeAndUnlikeButtonVisible") %>'  
                        CommandName="LikeComment" 
                        CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" />
                  <br />sum of likes
                  <asp:Label ID="lblCommentLikes" runat="server"
                             Text='<%# Bind("CommentLikes") %>' />
                </td>
              </tr>
            </table>
          </ItemTemplate>
        </asp:TemplateField>
      </Columns>
    </asp:GridView>
  </ContentTemplate>
</asp:UpdatePanel>

1 个答案:

答案 0 :(得分:0)

向每个按钮添加客户端onClick javascript。点击后,获取父td标记,然后getElementById("lblCommentLikes")设置.innerText "lblCommentLikes"的{​​{1}}属性。

span

+(theTD.getElementById("lblCommentLikes").innerText)+=1;

提示:如果您使用的是IE,请按F12查看正在运行的页面的+(theTD.getElementById("lblCommentLikes").innerText)-=1;