Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在gridview中的下拉列表中,在OnSelectedIndexChanged上查找GridRow_Asp.net_Datagridview - Fatal编程技术网

Asp.net 在gridview中的下拉列表中,在OnSelectedIndexChanged上查找GridRow

Asp.net 在gridview中的下拉列表中,在OnSelectedIndexChanged上查找GridRow,asp.net,datagridview,Asp.net,Datagridview,我有一个asp.NETGridView。dropdownlist类型的模板字段包含在一列中: <asp:TemplateField HeaderTextLabel="strManagedOETeamart"> <ItemTemplate> <asp:DropDownList runat="server" AutoPostBack="True" OnSelected

我有一个asp.NETGridView。dropdownlist类型的模板字段包含在一列中:

<asp:TemplateField HeaderTextLabel="strManagedOETeamart">
                        <ItemTemplate>
                            <asp:DropDownList runat="server" AutoPostBack="True" OnSelectedIndexChanged="SelectedTeamartChanged">
                                <asp:ListItem Selected="True" Value="White"> White </asp:ListItem>
                                <asp:ListItem Value="Silver"> Silver </asp:ListItem>
                                <asp:ListItem Value="DarkGray"> Dark Gray </asp:ListItem>
                                <asp:ListItem Value="Khaki"> Khaki </asp:ListItem>
                                <asp:ListItem Value="DarkKhaki"> Dark Khaki </asp:ListItem>
                            </asp:DropDownList>
                        </ItemTemplate>
                    </asp:TemplateField>
您正在寻找房产:

GridViewItem row = (GridViewRow)dropDown.NamingContainer;
顺便说一下,这适用于任何类型的web数据绑定控件,如
GridView
DataList
Repeater
ListView

考虑这个更复杂的需求:您有一个
GridView
,它嵌套在另一个
GridView
中。现在,您正在处理一个DropDownList的
SelectedIndexChanged
事件,该事件位于子
GridView
中,您希望获取父
GridView
GridViewRow
的引用:

var control = (Control)sender;
var row = (GridViewRow)control.NamingContainer;
var parentRow = (GridViewRow)row.NamingContainer.NamingContainer;
这是最安全最简单的方法

var control = (Control)sender;
var row = (GridViewRow)control.NamingContainer;
var parentRow = (GridViewRow)row.NamingContainer.NamingContainer;