问候,我会尝试做出这个简短明了的
我有一个NumericTextBox和一个按钮,按下按钮它会告诉转发器 A 它应该根据NumericTextBox上引入的值重复多少次:
protected void ButtonRepeaterA_Click(object sender, EventArgs e)
{
string x = RadNumericTextBoxRepeatsOnA.Text.Trim();
int y = Convert.ToInt32(x);
int[] RowCount = new int[y];
RepeaterA.DataSource = RowCount;
RepeaterA.DataBind();
int currentYear = DateTime.Now.Year;
for (int i = currentYear; i <= currentYear + 100; i++)
{
//DropDownCCYear.Items.Add(new RadComboBoxItem(i.ToString(), i.ToString()));
foreach (RepeaterItem item in RepeaterA.Items)
{
RadComboBox DropDownCCYear = (RadComboBox)item.FindControl("DropDownCCYear");
DropDownCCYear.Items.Add(new RadComboBoxItem(i.ToString(), i.ToString()));
}
}
}
问题出现在转发器 B ,它位于转发器内 A
它的行为类似于转发器 A ,但我只希望按下按钮以影响按钮所在的转发器,因此它不会清除内部控件上引入的数据转发器 B 的其他重复,如果我使用&#34; foreach转发器&#34;如下:
protected void ButtonRepeaterB(object sender, EventArgs e)
{
foreach (RepeaterItem item in RepeaterA.Items)
{
Repeater RepeaterB = (Repeater)item.FindControl("RepeaterB");
RadNumericTextBox RadNumericTextBoxRepeatsOnB = (RadNumericTextBox)item.FindControl("RadNumericTextBoxRepeatsOnB");
string x = RadNumericTextBoxRepeatsOnB.Text.Trim();
int y = Convert.ToInt32(x);
int[] RowCount = new int[y];
RepeaterB.DataSource = RowCount;
RepeaterB.DataBind();
}
}
是否有&#34; forthis repeater&#34; -like功能? 任何想法我怎么能接近这个?
答案 0 :(得分:0)
Repeater
有一个ItemCommand
事件,我认为这对您有用。当Button
的{{1}}事件发生时,如果您尚未设置Click
的{{1}}事件处理程序,ItemCommand
事件将吞并它。
在Button
事件中,您可以使用Click
参数来确定哪个按钮,ItemCommand
来确定它来自哪个e
。
我对你的问题感到有点困惑,但我认为这是你正在努力的答案。这有帮助吗?