Почему выпадающий список не найден «FindControl» из GridViewRow?
Два исключения:
Индекс вне границFindControl возвращает ноль (он притворяется или не обнаруживает элементы управления)cs код: (сейчас выпадающий список должен быть заполнен в режиме редактирования)
protected void GridView3_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView3.EditIndex = e.NewEditIndex;
ShowData("a"); //bind data
GridViewRow gVR = GridView3.Rows[GridView3.EditIndex];
код aspx:
<asp:TemplateField HeaderText="x" ItemStyle-CssClass="ix">
<EditItemTemplate>
<asp:DropDownList ID="xnList" runat="server" Text='<%# Bind("[columnx]")%>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("[columnx]") %>'></asp:Label>
</ItemTemplate>
<ItemStyle CssClass="ix" />
</asp:TemplateField>
Учитывая приведенный выше фрагмент, прямо на 3-й строке я получаю следующую ошибку. Это абсурдно, так как то же самое хорошо работает для других видов сетки, и у этого вида сетки 10 строк, так что определенно не вне границ. В чем может быть проблема здесь?
Рекомендации:
Поиск элемента управления в GridView в режиме EDIT возвращает ноль.FindControl в gridview возвращает нольРЕДАКТИРОВАТЬ:
Те, кто щедро пытается и уделяет время, чтобы помочь мне с решением,пожалуйста, проверьте запись в блоге Джеффа Этвуда оPage.FindControl
. Читая это, я чувствую, что мой выпадающий список определенно является ребенком в Gridview ...Учитывая этот пост, он намного ближе к тому, с чем я столкнулся., Но я не уверен на 100%, относится ли тот же случай к тому, с чем я борюсь, поскольку у меня есть два вида сетки. Однако только один из них имеет элементы управления режимом редактирования, другой - простой и понятный.gridvos. Может кто-нибудь показать мне правильное направление?
РЕДАКТИРОВАТЬЯ пробовал каждый из ответов / решений вышеупомянутой ссылки. Никто не работает на данный момент.