2014-01-30 104 views
2

我已经进入网络时间不长,但现在我应该做一个小C#项目,我想知道我怎么能做出这样的重复:用C#重复控制

enter image description here

在网上我可以只是做

<div id="holder"> 
    <div class="item"></div> 
    <div class="item"></div> 
    <div class="item"></div> 
</div> 

,甚至添加它动态地:

var items = [{}, {}, {}, {}]; 
for (var i in items) { 
    $("#holder").append("<div class=\"item\"></div>"); 
} 

并呈现尽可能多的项目,如在阵列中表示。

我的实际问题是如何使用确切的用户控制?

+2

请添加更多标签ASP.Net/WebForms/ASP.Net-mvc/可能甚至有其他东西。 –

+1

'循环{var c = new SomeControl(); someParentControl.Controls.Add(C); }' –

+0

在C#中有很多选项,包括重复标记和循环来添加项目。您需要澄清您正在使用的平台/工具,并说明您拥有什么样的数据,以及如何做到这一点不明显。 –

回答

5

您可以创建一个用户控件(添加>新项...>用户控制)

public partial class WFUserControl : UserControl 
{ 
} 

user control

,并添加一个容器控件,如面板

panel1.Controls.Add(new WFUserControl()); 

要使它增加一个下一个,你可以使用TableLayoutPanel,设置AutoSizetrue,只设置一个列和只有一行。然后,当你添加3个控制它看起来就像这样:

table layout panel

+0

还有1个问题:因为我会根据列表渲染它们,所以我可以如何移除一个项目? – Deepsy

+0

'tableLayoutPanel1.Controls.Remove(control)'应该工作。从列表中获取控件并调用此方法。你也有'RemoveAt' ... – BrunoLM

0

实际上,它是根据你的需要,但让我们说你要重复你已经从数据库中抽取的项目相同的模板,你可以使用数据列表或列表视图。