我有数据列表作为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>
答案 0 :(得分:2)
我认为你看的水平比你想象的要高。你可能需要这样的东西:
Label QID = Dl_Question.**Items[n]**.FindControl("lbl_QID") as Label;
答案 1 :(得分:0)
如果您不想打扰指定控制继承人,请使用recursive algorithm。