Если я прав тогда.У вас есть пользовательский контроль.Скажите wucMyControl.ascx, где у вас есть элемент управления gridview gvGDG.И вы не можете получить к нему доступ из wucMyControl.ascx.cs.Если это проблема, тогда используйте решение ниже:
В вашем файле конструктора пользовательских элементов управления проверьте уровень доступа элемента управления Gridview.Может быть, он будет случайно изменен на частный, а не защищенный.Если он закрытый, сделайте его защищенным или общедоступным и проверьте, можете ли вы получить к нему доступ сейчас или нет.
Обновление К вашему сведению, вы не можете получить прямой доступ к дочерним элементам управления.Для этого вам необходимо получить доступ к элементам управления DataBound.
Здесь, в вашем случае:
protected void GridView_RowDataBound(sender, e)
{
if(e.Row.RowType == DataControlRowtype.DataRow)
{
var ddl = (DropdownList)e.Row.FindControl("ddlCountry");
// do whatever you want with ddl. Similarly you can find all html and server control inside a gridview.
}
}
Это поможет вам ...
Добавление события в дочерние элементы управления gridview
В вашем GridView1_RowDataBound
метод, добавьте обработчик при создании раскрывающегося списка, вызвав ddl.SelectedIndexChanged += new EventHandler(ddl_SelectedIndexChanged);
Затем объявите метод void ddl_SelectedIndexChanged(object sender, EventArgs e)
для обработки вашей логики.Аргумент отправителя будет ссылкой на выпадающий список, который был выбран.Также установите для свойства AutoPostback выпадающего списка значение true.