在asp.net中动态填充div

时间:2011-08-09 16:20:07

标签: asp.net vb.net html

我正在开发一个weboage,它将显示从数据库表返回的问题和答案(可能一次是5次,可能是7次)。问题将分别显示在div中,相关答案显示在另一个div中。问题将显示“显示答案/隐藏答案”图标

如何创建div然后使用表中的值填充它?

由于

2 个答案:

答案 0 :(得分:1)

我们需要更多地了解您如何检索问题数据以及页面其他部分的上下文,但您可以在此处执行一些操作(大致按优先顺序排列):

  • 将您的数据绑定到<asp:Repeater >控件(甚至是其中一个网格控件)
  • 构建自定义或用户控件以呈现您的问题并将其放在页面上
  • 在代码中将所需的html构建为字符串,并将其设置为<asp:Panel >控件(面板呈现为div标签)。如果您希望能够在不重新加载整个页面(AJAX)的情况下刷新div,则可以使用<asp:UpdatePanel >
  • 在代码中构建所需的html,并通过<%= %><%: %>蜜蜂或Response.Write()方法直接写入回复。

答案 1 :(得分:1)

我会使用中继器。

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?---------- ANSWER1
问题2?---------- ANSWER2

输出将是:

<div>
 question1?
 <hr/>
 answer1
</div>
<div>
 question2?
 <hr/>
 answer2
</div>

我希望它有所帮助...