C# asp.net表单允许多个样式模板的重复器替代方案
我有一个返回数据集的页面。我已经将它绑定到一个repeater控件,但这只允许两个项目模板,所以有两种样式。但是,我希望为不同的数据提供多种样式 背景是我将返回一个“前10名”(无论是最新的,还是喜欢的),我希望对其进行风格设计,使第一名有自己的风格,第二名和第三名有第二种风格, 4-10有第三种风格C# asp.net表单允许多个样式模板的重复器替代方案,c#,repeater,C#,Repeater,我有一个返回数据集的页面。我已经将它绑定到一个repeater控件,但这只允许两个项目模板,所以有两种样式。但是,我希望为不同的数据提供多种样式 背景是我将返回一个“前10名”(无论是最新的,还是喜欢的),我希望对其进行风格设计,使第一名有自己的风格,第二名和第三名有第二种风格, 4-10有第三种风格 在返回单个数据集的同时,是否还有其他方法可以实现这一点,就像我使用中继器一样?您可以创建自定义控件并根据数据管理不同的行为。将此自定义控件放入repeater模板中 使用以下方法,您可以在循环前声
在返回单个数据集的同时,是否还有其他方法可以实现这一点,就像我使用中继器一样?您可以创建自定义控件并根据数据管理不同的行为。将此自定义控件放入repeater模板中
使用以下方法,您可以在循环前声明一个计数器,并在每个循环结束时递增它,以跟踪您的行号 其余答案全部取自: 与使用中继器不同,您可以使用and标记以类似MVC类型的方式循环列表
只要您正在循环的属性可以从aspx/ascx页面访问(例如声明为受保护或公共),您就可以循环它。代码背后没有其他代码
将计算代码并输出结果
以下是最基本的示例:
在代码隐藏中的类级别声明此列表:
公共列表站点=新列表{“StackOverflow”、“超级用户”、“Meta SO”};
这只是一个简单的字符串列表,所以在您的aspx文件中
<% foreach (var site in Sites) { %> <!-- loop through the list -->
<div>
<%= site %> <!-- write out the name of the site -->
</div>
<% } %> <!--End the for loop -->
您可以始终在中继器中绑定用户控件。我已经这样做了,因此我选择了前7种类型的用户控件,我有3种类型的用户控件(1 x“顶层故事”、2 x“第二层故事”和4 x“小故事”,这样我就可以将前7个结果中的每一个绑定到相关控件。但是,它只是将每个结果放入每个控件中,7次。我如何使它仅将结果放入1个用户控件中?我猜您可以使用1个用户控件。传递一些变量,这些变量可以决定加载时各自的CSS/标题或行为。
<% foreach (var site in Sites) { %> <!-- loop through the list -->
<div>
<%= site %> <!-- write out the name of the site -->
</div>
<% } %> <!--End the for loop -->