带循环的asp.net Web用户控件

时间:2012-05-02 16:26:34

标签: c# asp.net user-controls

对于webforms用户控件的全新,我有点困惑,关于如何创建用户控件并在其上填充一些数据。

for(int i = 0; i < Price.EpList.Count(); i++)
                        {

                            Price.EpList[i].Amount.ToString();
                            Price.EpList[i].Code.ToString();
                            Price.EpList[i].Desc.ToString();
                            Price.EpList[i].ID.ToString();

                        }

EpList是一个列表,其中包含我希望以表格格式显示在网页上的信息,每行都有复选框。

1 个答案:

答案 0 :(得分:3)

看看Repeater Control。您不必遍历列表,只需将列表绑定到转发器,并为每个重复的项目定义所需的html模板。

http://www.w3schools.com/aspnet/aspnet_repeater.asp


编辑:那篇文章使用Visual Basic,所以这里是C#翻译:

假设这个转发器:

<asp:Repeater runat="server" ID="uxEpList">
<ItemTemplate>
<%--Html goes here--%>
<%# Eval("Amount")%>
<%# Eval("Code")%>
<%# Eval("Desc")%>
<%# Eval("ID")%>   
</ItemTemplate>
</asp:Repeater>

在代码背后:

uxEpList.DataSource = Price.Eplist;
uxEpList.DataBind();

如果您需要将转发器嵌套在另一个转发器中(使用评论中的Desc属性),可以通过声明性地设置DataSource属性来这样做(注意单引号):

<asp:Repeater runat="server" ID="uxEpList">
<ItemTemplate>
    <asp:Repeater Datasource='<%# Eval("Desc")%>' runat="server">
    <ItemTemplate>
    //etc...