在按钮事件中找到datalist中的控件

时间:2012-12-12 18:53:06

标签: asp.net datalist

我有数据列表作为Question的标签和textarea的答案,如 datalist render标签上的问题,用户将添加答案 文本区域作为插入数据库的答案。我做了我的代码,但是 当我添加我的代码以找到他们返回的控件(label,textarea)时 虽然我添加了问题的答案,但是具有空值。

protected void BT_submit_Click(object sender, ImageClickEventArgs e)
{

    Label QID = (Label)Dl_Question.FindControl("lbl_QID");
    HtmlTextArea QAnswer = (HtmlTextArea)Dl_Question.FindControl("Txt_Answer");
}

DataList代码:

<asp:DataList ID="Dl_Question" runat="server" onitemdatabound="Dl_Question_ItemDataBound"                                                                          onitemcommand="Dl_Question_ItemCommand">
   <ItemTemplate>
      <asp:Label ID="lbl_QID" runat="server" Text='<%# Eval("ID") %>' Visible="false">
      </asp:Label><br />
      <asp:Label ID="Lbl_Question" runat="server" Text='<%# Eval("Question") %>'></asp:Label>  <br />
      <textarea id="Txt_Answer" cols="80" rows="5" runat="server"></textarea>
   </ItemTemplate>
</asp:DataList>

2 个答案:

答案 0 :(得分:2)

我认为你看的水平比你想象的要高。你可能需要这样的东西:

Label QID = Dl_Question.**Items[n]**.FindControl("lbl_QID") as Label;

答案 1 :(得分:0)

如果您不想打扰指定控制继承人,请使用recursive algorithm