我不熟悉asp.net中继器控件。我在中继器中有两列,quantity和sku。在单击按钮时,我希望循环中继器中的行,并将每个quantity和sku传递到一个方法中。如何在中继器中获取此信息?
发布于 2009-07-28 18:35:46
在按钮单击的方法中:
foreach(RepeaterItem item in repeaterControlID.Items)
{
var quantity = item.FindControl("quantityControlID");
var sku = item.FindControl("skuControlID");
}或者类似的东西。您也可以使用RepeaterItem的Controls属性来查看它们。
E:我对你的问题的解释是:“在由按钮点击引起的回发中,我希望遍历中继器中的项,并将这些值传递到一个方法中。”这将不适用于填充中继器或在客户端javascript中执行某些操作。
当然,对于学习如何使用各种类,比如Repeater,MSDN是一个很好的资源
发布于 2009-07-28 18:34:37
客户端还是服务器端?假设您指的是服务器端,请使用中继器的OnItemDataBound事件。它将每行触发一次,并将该行的数据作为参数包含。
发布于 2009-07-28 18:38:11
这取决于您在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,那将会有所帮助。
https://stackoverflow.com/questions/1195885
复制相似问题