Мои TemplateField
в моем GridView
была создана так:FindControl в RowDataBound-Event заканчивается ошибкой [до сих пор нерешенной]
<asp:TemplateField HeaderText="Dienstleistung" SortExpression="gutscheinbezeichnung" HeaderStyle-Width="20px">
<EditItemTemplate>
<asp:HiddenField runat="server" Value='<%# Bind("gutscheinart_id")%>' ID="HiddenFieldGutscheinartID"/>
<asp:DropDownList ID="DropDownListDienstleistung" ClientIDMode="Static" runat="server" DataSourceID="ObjectDataSourceDropDown" DataValueField="gutscheinbezeichnung">
</asp:DropDownList>
<asp:ObjectDataSource ID="ObjectDataSourceDropDown" runat="server" SelectMethod="GetGutscheinArt" TypeName="Gmos.Halbtax.Admin.Client.WebGui.DataManager"></asp:ObjectDataSource>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="LabelGutscheinbezeichnung" runat="server" Text='<%# Bind("gutscheinbezeichnung") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="20px" />
</asp:TemplateField>
Как вы можете видеть, у меня есть DropDownList
называется DropDownListDienstleitung
в моем EditItemTemplate
-field.
Я также создал это событие:
protected void GridViewLehrling_RowDataBound(object sender, GridViewRowEventArgs e)
{
DropDownList DropDownListDienstleistungBackEnd = (DropDownList)GridViewLehrling.Rows[GridViewLehrling.SelectedIndex].FindControl("DropDownListDienstleistung");
HiddenField HiddenFieldGutscheinartIDBackEnd = (HiddenField)GridViewLehrling.Rows[GridViewLehrling.EditIndex].FindControl("HiddenFieldGutscheinartID");
}
Теперь, если это событие вызывается. Эта ошибка возникает:
Индекс был за пределами допустимого диапазона. Должен быть неотрицательным и меньше размера коллекции. Наименование параметра: индекс
Любые предложения?
Именно то, что я искал. СПАСИБО –