【发布时间】:2011-08-10 00:34:41
【问题描述】:
我正在开发一个网页,该网页将显示从数据库表返回的问题和答案(一次可能是 5 个,有时可能是 7 个)。每个问题将显示在一个 div 中,相关答案将显示在另一个 div 中。该问题将有一个图标“显示答案/隐藏答案”
如何创建一个 div,然后用表中的值填充它?
谢谢
【问题讨论】:
我正在开发一个网页,该网页将显示从数据库表返回的问题和答案(一次可能是 5 个,有时可能是 7 个)。每个问题将显示在一个 div 中,相关答案将显示在另一个 div 中。该问题将有一个图标“显示答案/隐藏答案”
如何创建一个 div,然后用表中的值填充它?
谢谢
【问题讨论】:
我会为此使用中继器。
1.创建从数据库中提取数据的数据源
<asp:sqlDataSource Id="sqldsQuestionsAnswers" ... />
2.创建链接到该数据源的转发器:
<asp:repeater DataSourceId="sqldsQuestionsAnswers" runat="server">
<itemTemplate>
<div>
<%# Eval("question") %>
<hr/>
<%# Eval("answer") %>
</div>
</itemTemplate>
</asp:repeater>
中继器将为您的查询返回的每一行显示<itemTemplate> 标记中的任何内容。
因此,如果您的查询返回 2 个这样的问题:
问题-------------答案
----------------------------------
问题1?---------答案1
问题2?---------答案2
输出将是:
<div>
question1?
<hr/>
answer1
</div>
<div>
question2?
<hr/>
answer2
</div>
希望对你有帮助……
【讨论】:
我们需要更多地了解您如何检索问题数据以及页面其余部分的上下文,但您可以在这里做一些事情(大致按偏好顺序):
<asp:Repeater > 控件(甚至是网格控件之一)<asp:Panel > 控件(面板呈现为 div 标签)。如果您希望能够在不重新加载整个页面 (AJAX) 的情况下刷新您的 div,您可以使用 <asp:UpdatePanel >。<%= %> 或<%: %>bee-stings 或Response.Write() 方法在代码中构建您想要的html 并直接写入响应。【讨论】: