【问题标题】:find control inside datalist in button event在按钮事件中的 datalist 中找到控件
【发布时间】:2012-12-12 18:53:05
【问题描述】:

我有数据列表作为问题的标签和答案的文本区域,如 datalist 在标签上呈现问题,用户将在其中添加答案 文本区域作为插入数据库的答案。我做了我的代码,但是 当我添加代码以查找它们返回的控件(标签、文本区域)时 尽管我为问题添加了答案,但具有 null 值。

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");
}

数据列表代码:

<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>

【问题讨论】:

  • 能贴一下DataList绑定代码吗?
  • 您想检索每个问题的答案。对吗?
  • 抱歉,我很难理解,是吗?您想检索每个问题的答案吗?

标签: asp.net datalist


【解决方案1】:

我会假设您正在寻找比您想象的更高的水平。你可能需要这样的东西:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多