2013-03-29 32 views
0

我对asp.net和vb.net相当陌生,所以如果我不在这里使用正确的术语,我很抱歉。在vb.net中显示重复代码块的最佳方式是什么?

我有从该表我要产生一些HTML代码,如返回的数据集数据库表,并为每一行:

<div> 
    <img src="SOURCE" /> 
    <h1>Row1</h1> 
    <input type="button" /> 
    <input type="button" /> 
</div 
<div> 
    <img src="SOURCE" /> 
    <h1>Row2</h1> 
    <input type="button" /> 
    <input type="button" /> 
</div 

什么是做到这一点的最好方法是什么?我是否简单地用整个数据拉回一个对象,然后编写一个foreach循环遍历每一行并向页面插入一个字符串,或者我应该使用用户控件?

我猜我试图做一个排序论坛资讯页,并希望与数据库中的特定条目来获取所有的主题,然后用一些输入控制和图像在页面上显示该列表。我也想添加分页;所以在任何时间只显示10个帖子,然后可以分页到下一页。

再次我道歉,如果我不是已经很清楚了,但我有一个很难一点点理解来解决这个的最佳方式。

回答

4

你可以使用一个Repeater

<asp:Repeater id="Repeater1" runat="server"> 
     <ItemTemplate> 
      <img src="SOURCE" /> 
      <h1>Row<%# Container.ItemIndex %></h1> 
      <input type="button" /> 
      <input type="button" /> 
     </ItemTemplate> 
    </asp:Repeater> 
+2

中继器为您提供了必须“自定义控制”。 GridView和DataList是其他选项。但我同意,直放站似乎是这里最有可能的候选人。不要使用“for each”和“Response.Write”! – granadaCoder

+0

也许显示后面的代码:::: Repeater1.DataSource = myDataSet.SomeTable; Repeater1.Databind(); – granadaCoder

+0

谢谢@ jrummell我要读一读中继器。如果不是这个原因,是否有可能解释一下用户控件的用途? – ACynicalGeek

-2

如果你想要重复任何代码块。试试这个代码,我使用了..

示例代码显示任何股利3次

<% For i as Integer = 1 To 3%> 
<div> 
    <img src="SOURCE" /> 
    <h1>Row1</h1> 
    <input type="button" /> 
    <input type="button" /> 
</div> <% Next %> 
+1

这不是真正的asp.net。这是来自asp世界的“剩余”。我不推荐。 – granadaCoder

+0

@granadaCoder而有些人可能会这样认为,这是ASP.NET MVC中常用的模式。 – jrummell

+0

好的。我承认我的MVC没有达到标准。谢谢你的提示。 – granadaCoder

相关问题