从中继器的下拉列表中选择父中继器,并选择其中

时间:2014-01-24 17:49:15

标签: asp.net repeater

我想找到Parent Repeater,它包含Child Repeater,Child Repeater包含下拉列表。在Drowndownlist的SelectedIndexChange上,我想找出Parent Repeater。找到父转发器后,我想在Parent Repeater中找到hiddenfield值。即

Parent Repeater包含HiddenField和Child Repeater 子转发器包含此下拉列表选择的索引更改事件的下拉列表我想查找父转发器中的HiddenField值。

我的代码:

        DropDownList myGeneralButton = (DropDownList)sender;
        Repeater item = (Repeater)myGeneralButton.Parent.Parent;

        for (int i = 0; i < item.Items.Count; ++i) 
        {
            HiddenField hdn=  item.Items[i].FindControl("Hdhotelname") as HiddenField;
            string h = hdn.Value;
        }

在这个隐藏字段中,我获取了所有值,但我想要一个特定索引的值,我选择下拉列表。

由于

2 个答案:

答案 0 :(得分:4)

您必须搜索DropDownList的{​​{1}}。流程应该是这样的:

  

(DropDownList的)发送器
   - &GT; NamingContainer(Child RepeaterItem)
   - &GT; NamingContainer(儿童中继器)
   - &GT; NamingContainer(Parent RepeaterItem)
   - &GT; FindControl“Hdhotelname”(Hdhotelname)

你的代码应该是这样的:

NamingContainer

希望它有所帮助!

答案 1 :(得分:0)

<%= (Repeater)ChildRepeater.NamingContainer =>

或在没有<%==>

的代码隐藏中直接使用它