ASP.NET中继器
在该按钮单击方法:
foreach(RepeaterItem item in repeaterControlID.Items)
{
var quantity = item.FindControl("quantityControlID");
var sku = item.FindControl("skuControlID");
}
或类似的东西。您也可以使用RepeaterItem的Controls属性来查看它们。
E:我对你的问题的解释是:“在由点击按钮引起的回发中,我想遍历中继器中的项目并将这些值传递给方法。”这不适用于填充中继器或在客户端JavaScript中执行某些操作。
客户端或服务器端?假设你的意思是服务器端,使用中继器的OnItemDataBound事件。这将每行触发一次,并将该行的数据作为参数包含在内。
你如何显示在你的ItemTemplate“量”和“SKU”一个巨大的资源情况而定。如果您使用的<%# DataBinder.Eval(Container, "quantity") %>
语法,你可以做这样的事情:
foreach(RepeaterItem item in Repeater1.Items)
{
string quantity = ((DataBoundLiteralControl)item.Controls[0]).Text;
string sku = ((DataBoundLiteralControl)item.Controls[1]).Text;
}
这将有助于但如果你可以发布您的ItemTemplate。
多么糟糕的解决方案!!!!!如果列改变她的订单!! ?? – 2011-11-24 18:19:10
你会想“输入”你太控件访问其属性...
foreach(RepeaterItem item in this.RptTest.Items){ string DdlTestValue = ((DropDown)item.FindControl("DdlTest")).SelectedValue; string TxtTestValue = ((TextBox)item.FindControl("TxtTest")).Text; }
感谢,我看了一下MSDN,但不喜欢的例子。 – jumbojs 2009-07-28 19:08:16