Csharp/C#教程:获取中继器的项目分享


获取中继器的项目

我试图在页面移动(分页)之前获取所有转发器选中的转发器项目的复选框,并将它们存储在某个地方。

foreach (RepeaterItem ri in rpt.Items) { CheckBox box = (CheckBox)ri.FindControl("chkBox"); if (box.Checked) { ... } } 

问题是我从哪里调用此函数? 我试图从ObjectDataSource1_Selected(我使用objectdatasource填充转发器)和ObjectDataSource1_Selecting调用它,但rpt.Items.Count也是0。

rpt_PreRender()事件,返回正确数量的项目,但它在选中复选框之前发生,而不是之后。

我能做什么?

您正在寻找的方式是不可能的…请尝试使用此代码…

 if (Repeater1.Items.Count > 0) { for (int count = 0; count < Repeater1.Items.Count; count++) { CheckBox chk = (CheckBox)Repeater1.Items[count].FindControl("CheckBox1"); if (chk.Checked) { } } } 

Repeater没有内置分页(如GridView或其他复杂控件),因此它不提供诸如PageIndexChanging事件。 因此,我假设您有自己的页面导航实现。 因此,您应该调用您在该实现函数中呈现的函数。

如果问题与Paging无关,我只需要建议ItemDataBound/ItemCreated事件。

上述就是C#学习教程:获取中继器的项目分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/936436.html

(0)
上一篇 2021年11月7日
下一篇 2021年11月7日

精彩推荐