0

在 DataList 中,我从数据库中检索到评论。每个评论集都有自己的回复文本框以及用于提交回复的提交按钮。在按钮上,我有一个单击事件以及commentID 作为commandArgument,因此我可以在我的事件中检索评论ID。我如何引用特定的评论框来检索文本。我的评论容器看起来像:

<div class="replyContainer">
    <asp:TextBox ID="replyBox" runat="server"></asp:TextBox>
    <asp:ImageButton ID="ImageButton1" runat="server"
        CommandArgument='<%# Eval("cID") %>'
        onclick="replyPostClick" />
</div> 

我背后的 C# 方法如下所示:

protected void replyPostClick(object sender, EventArgs e)
{
    ImageButton btn = sender as ImageButton;
    CommentQueries.addComment(objectID, userID, btn.CommandArgument.ToString(), ?); 
}

问号将是我在评论中传递的地方。有没有办法以某种方式检索相关文本框的文本?

4

1 回答 1

0

您可以DataListItem从已单击的 ImageButton 中获取 。

代码将类似于;

ImageButton img = (ImageButton)sender;
DataListItem item = (DataListItem)img.NamingContainer;

// check that the item is not null
if (item != null)
{        

    //get the index of the Current ImageButton selected
    int itemIndex = item.ItemIndex;
    // find the control and value within the datalist using the itemIndex
    // I don't know the ID of your DataList, so I have just called it DataList1
    var replyText = ((TextBox)this.DataList1.Items[item.ItemIndex].FindControl("replyBox")).Text;

}

一旦你有了item你就可以

于 2013-04-26T19:39:04.467 回答