以下代码用于获取gridview的当前行下拉列表。但我对这段代码感到困惑。请解释一下这段代码。我从一篇文章中得到了这段代码。
GridViewRow gvr = (GridViewRow)((DropDownList)sender).Parent.Parent;
答案 0 :(得分:1)
这是一种从GridViewRow
事件中DropDownList
引用SelectedIndexChanged
的方法(例如)。如果DropDownList
位于TemplateField
的{{1}}中,则此方法有效。
但更好的方法是使用NamingContainer
属性。
例如:
GridView
它更好,因为它不容易出错。因此protected void dropDownList1_SelectedIndexChanged(Object sender, EventArgs e)
{
GridViewRow gvr = (GridViewRow)((Control)sender).NamingContainer;
}
仍然是GridViewRow
,即使您将此下拉列表放入NamingContainer
,而Panel
方法则不正确。
答案 1 :(得分:0)
用于选择包含下拉列表的行。首先它将发送者转换为Dropdownlist,然后它正在寻找父控件,然后控制父控件并将其转换为Gridview行。