以下代码的含义是什么?

时间:2013-08-23 12:03:42

标签: asp.net c#-4.0

以下代码用于获取gridview的当前行下拉列表。但我对这段代码感到困惑。请解释一下这段代码。我从一篇文章中得到了这段代码。

GridViewRow gvr = (GridViewRow)((DropDownList)sender).Parent.Parent;

2 个答案:

答案 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行。