Я написал некоторый код для массового обновления gridview. В gridview одно из моих полей шаблона имеет выпадающий список:
<asp:DropDownList ID="DDLCategories" runat="server"
DataSourceID="odsCategories" DataTextField="txtCategory"
DataValueField="intCategoryID" SelectedValue='<%# Bind("intCategoryID") %>'>
<asp:ListItem Text="Please Select an item" Value ="-1"></asp:ListItem>
</asp:DropDownList>
В моей базе данных 800 записей. Однако только нескольким из них было присвоено значение «intCategoryID». Остальные NULL.
Вся причина массового обновления заключается в обновлении всех полей «intCategoryID» и назначении идентификатора категории для каждой записи.
Поскольку не всем "intCategoryID" присвоено значение, я получаю сообщение об ошибке при попытке отобразить страницу. Выпадающий список не работает. Вот сообщение:
'DDLCategories' has a SelectedValue which is invalid because it does not exist in the list of items.
Parameter name: value
Можно ли назначить пустые категории элементу списка со значением «-1», который я создал в раскрывающемся списке? IE Если «intCategoryID» ISNULL, выберите «Пожалуйста, выберите элемент», в противном случае выберите выбранное значение.