查找嵌套listview控件的datakey

时间:2014-11-29 12:20:52

标签: asp.net listview

我有一个由实体查询限制的listview控件。主要列表视图与名为Article的实体有关。第二个listview(嵌套的一个)受限于Article_Comment的icollection。我试图获取文章的ID,以便我可以使用它来更新文章评论表。以下是我到目前为止的情况。

<asp:ListView ID="listComment" runat="server" DataKeyNames="ArticleID" >
    <LayoutTemplate>

        <div class="row">
            <h3>Comments</h3>
            <blockquote>
                <asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>
            </blockquote>
        </div>
    </LayoutTemplate>



    <ItemSeparatorTemplate>
        <hr />
    </ItemSeparatorTemplate>

    <ItemTemplate>
        <h4 class="text-error"><%#Eval("Title")%></h4>
        <br />
      <h4 class="text-error"><%#Eval("ArticleID")%></h4
        <br />
        <p><%#Eval("ArticleContent")%> </p>


        <asp:ListView ID="list" runat="server" DataSource='<%# Eval("Article_CommentTable")%>' 
            InsertItemPosition="LastItem" OnItemCommand="list_ItemCommand" OnItemDataBound="list_ItemDataBound"
            DataKeyNames="ArticleID" OnItemInserting="list_ItemInserting">


                  <LayoutTemplate>
                       <div class="row">
                <h3>Comments</h3>

                    <asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>

                      </div>
               </LayoutTemplate>



            <ItemTemplate>
                <p>
                    Username : <%#Eval("UserName")%>
                    <br />
                  Comments :  <%#Eval("Comment")%>
                    <br />
                   <%--<asp:Label ID="lblID" runat="server" Text='<%# Bind("ArticleID")%>'></asp:Label>--%>
                  <asp:HiddenField ID="hid" runat="server" Value='<%# Bind("ArticleID")%>' />

                </p>

            </ItemTemplate>

            <InsertItemTemplate>

                <div class="row" runat="server">
                           <asp:TextBox ID="txtUserName" runat="server" CssClass="form-control" />
                    <br />

                 <asp:TextBox ID="txtComment" runat="server" CssClass="form-control" />

                   <FCKeditorV2:FCKeditor ID="editorArticle" runat="server" 
            BasePath="~/FCKeditor/" Height="200px" Width="400px" 
            Value="Start typing here" ToolbarStartExpanded="False">
            </FCKeditorV2:FCKeditor>

                    <br />
                <asp:Button ID="btnAddComment" runat="server" CssClass="btn btn-info" 
                    CommandName="insert" Text="Join The Discussion" CommandArgument='<%#Eval("ArticleID")%>' />

                        </div>
            </InsertItemTemplate>



        </asp:ListView>

    </ItemTemplate>

</asp:ListView>

我正在尝试访问单击按钮的每一行的ArticleID。我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以在ItemCommand事件中将其作为listComment.DataKeys[dataItem.DisplayIndex].Value

获取