通过Listview中的DropDownlist_selectedindexchanged事件访问Label

时间:2009-12-23 17:08:13

标签: c# listview drop-down-menu

是否可以通过DropDownList_SelectedIndexChanged事件访问CouncilIdLabel?!

<tr id="Tr10" runat="server">
            <td width="110px">
                دسته :&nbsp;
            </td>
            <td>
                <asp:DropDownList ID="CategoryDropDownList" runat="server" Font-Names="tahoma" Font-Size="13px" onselectedindexchanged="CategoryDropDownList_SelectedIndexChanged" AutoPostBack="true" SelectedValue='<%# Eval("Category") %>'>
                    <asp:ListItem Text="عمومی" Value="عمومی"></asp:ListItem>
                    <asp:ListItem Text="پزشکی" Value="پزشکی"></asp:ListItem>
                    <asp:ListItem Text="مددکاری" Value="مددکاری"></asp:ListItem>
                    <asp:ListItem Text="روان شناسی" Value="روان شناسی"></asp:ListItem>
                </asp:DropDownList>
                <asp:Label ID="CouncilIdLabel" runat="server" Text='<%# Eval("CouncilId") %>' Visible="false" />
            </td>
        </tr>

它位于listview ItemTemplate

请帮助我,我需要很快解决这个问题

2 个答案:

答案 0 :(得分:1)

您需要在ListViewDataItem本身上使用FindControl。即。

Label coucilIdLabel = (Label)SomeListView.Items[SomeItemIndex].FindControl("CouncilIdLabel");

或 - 在您的selectedIndex已更改事件中,此工作:

var item = sender.Parent as ListViewDataItem;
Label coucilIdLabel = (Label)item.FindControl("CouncilIdLabel");

答案 1 :(得分:0)

是的,有可能。你必须在listview中找到控件。使用:

Label coucilIdLabel = (Label)MyListView.FindControl("CouncilIdLabel");