C# asp.net Repeater-获取对当前项的引用
我正在使用Asp.net 4.5,C#。 我有一个reapter,它绑定了一些数据源:C# asp.net Repeater-获取对当前项的引用,c#,asp.net,data-binding,repeater,dataitem,C#,Asp.net,Data Binding,Repeater,Dataitem,我正在使用Asp.net 4.5,C#。 我有一个reapter,它绑定了一些数据源: <asp:Repeater ItemType="Product" ID="ProductsArea" runat="server"> <HeaderTemplate></HeaderTemplate> <ItemTemplate> ... </I
<asp:Repeater ItemType="Product" ID="ProductsArea" runat="server">
<HeaderTemplate></HeaderTemplate>
<ItemTemplate>
...
</ItemTemplate>
<FooterTemplate></FooterTemplate>
</asp:Repeater>
...
在这个转发器中,我希望引用当前的迭代项。
我知道我可以使用
,而且我可以使用
。如果我想进入一个字段,我可以使用
或评估它
但是我想在一个字段上设置一个条件,如何获得对#项的引用,以便执行以下操作:
<% if (#Item.field>3)%>, <%if (#Container.DataItem.field<4)%>
3)%>,我会使用ItemDataBound
。这使得代码更具可读性、可维护性和健壮性(编译时类型安全)
我会使用ItemDataBound
。这使得代码更加可读、可维护和健壮(编译时类型安全)?我对此不熟悉,但这是服务器端的。我需要像这样在页面上使用它,你可以得到50%的折扣@程序员:这也是在服务器端执行的。您可以以更可读的方式获得相同的代码。但是你必须展示更多你正在尝试做的事情和涉及的控件,否则我不能给你展示一个完整的例子。我知道,但我希望它在动态页面上,而不是在函数中。如果条件对您有效,我如何打印到html?@Programer:那么您必须等待另一个答案。我不知道,也不想知道如何使用内嵌aspx实现类似的功能。这更像是经典的ASP而不是ASP.NET。
protected void Product_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
// presuming the source of the repeater is a DataTable:
DataRowView rv = (DataRowView) e.Item.DataItem;
string field4 = rv.Row.Field<string>(3); // presuming the type of it is string
// ...
}
}
<asp:Repeater OnItemDataBound="Product_ItemDataBound" ItemType="Product" ID="ProductsArea" runat="server">