我对OnItemDataBound事件有疑问,我希望有人可以帮助我。
现在我有
,函数定义为:
protected void FillRepeater(object sender,RepeaterItemEventArgs e)
我想做的是将参数传递给函数,如下所示:
但我不确定这是可能的吗? 我已将我的功能定义编辑为
protected void FillRepeater(object sender,RepeaterItemEventArgs e,int num)
但我不确定如何编辑标记以传递前2个预期参数?
答案 0 :(得分:1)
您无法修改ASP.NET服务器控件事件处理程序的签名,但我怀疑您尝试传递当前项的索引或从当前项中获取属性。如果这是你的目标,这里有几行可能会帮助你:
protected void FillRepeater(object sender, RepeaterItemEventArgs e)
{
// this will get the object that the current repeater item is bound to
YourItemType item = e.Item.DataItem as YourItemType;
// this will get the index of the current repeater item
var collection = repeater.DataSource as List<YourItemType>;
int itemIndex = collection.IndexOf(e.Item.DataItem as YourItemType);
}
答案 1 :(得分:0)
您可以使用e.Item
在转发器中找到控件。如果需要的话,您可以致电父级获取正好位于中继器上方的对象。
我要做的就是将我想传递的数据放入隐藏字段并按原样检索它们
Dim hListID As HiddenField = e.Item.FindControl("hListID")