在DataList中,我从数据库中检索了注释。每个评论集都有自己的回复文本框以及提交回复的提交按钮。在按钮上,我有一个click事件以及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(), ?);
}
问号将在我传递评论的地方。有某种方法可以某种方式检索相关文本框的文本吗?
答案 0 :(得分:0)
您可以从已点击的ImageButton获取DataListItem
。
代码就像是;
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
,你就可以