2012-12-17 19 views
0

我正在使用ASP.NET Web窗体,并创建了一个自定义.ascx用户控件,它代表具有类型,图片和颜色等属性的汽车。重复用户界面中的用户控件

现在我尝试以重复的方式在用户界面上添加此自定义控件。比方说,如果我有数据库5汽车,然后5个用户控件将呈现在用户界面更好的ASP控制内。

我一直在寻找这样的控制,研究网格视图和中继器,但他们似乎只有数据源列表的对象是从“原始”类型而不是像我的自定义ascx控件列表对象构建。

我的问题是,如果我可以以某种方式呈现这些用户控件内的重复循环内的一个asp或html控件,它给出格式化选项(支持css)? (如果是的话,请给我一个例子)

+0

你为什么要渲染usercontroll,好像你在用户控制项目中传递实际值,而不是你可以生成这个项目。 –

+0

拥有用户控件我可以在多个地方重复使用相同的用户界面格式。 – Mircea

回答

2

创建它内部的用户控制ListView,然后绑定一个List<CarObject>ListView

<asp:ListView ID="listView1" runat="server"> 
    <ItemTemplate> 
     <myUC:MyUserControl ID="myUserControl" runat="server" /> 
    </ItemTemplate> 
</asp:ListView> 

绑定你的对象的列表,如List<Car> ,到那个列表视图,listView1.DataSource = myListOfCars;。然后在ItemDataBound事件中将您的对象绑定到您的用户控件。

也可以将用户控件中的标记放在ListView之内,然后绑定事件内部的信息并完全避开整个用户控件问题。这仍然允许您重新使用标记。