У меня есть ASP.NET(4.0) веб-приложение. Веб-приложение имеет вид формы, содержащий раскрывающийся список. Выпадающий список заполняется так:
<asp:DropDownList ID="ddlStaff" runat="server"
DataSourceID="StaffDatasource" DataTextField="StaffName"
DataValueField="StaffName" AppendDataBoundItems="True"
SelectedValue='<%# Bind("Staff") %>' >
<asp:ListItem Value=""></asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="StaffDatasource" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="*****">
</asp:SqlDataSource>
Список сотрудников постоянно меняется, поэтому проблема заключается в том, что SelectedValue выдает ошибку, потому что этот сотрудник больше не существует.
Я знаю, что вы можете проверить, существует ли элемент в списке и поймать исключение. Я хотел бы знать, есть ли способ отобразить "несуществующего" сотрудника в раскрывающемся списке, если они не существуют? Хотя имя не указано, имя сотрудника хранится в записи. Причина, по которой я хочу это сделать, - это то, что пользователям нужно будет увидеть, кто был назначен этой записи, даже если их больше нет.
EDIT: Подробнее
Это то, как пользователи хотели бы, чтобы он работал.
Если это возможно, я могу сообщить им об этом, и я попрошу, чтобы оно выбрало значение null, когда генерируется исключение.
Если его нет в списке, его нет. Зачем вам это поведение? Пользователю нужны старые члены?
Вы можете создать список со всеми членами старого и нового, но вам придется закодировать список, не объявляющий. Вы не можете сделать это с помощью элементов управления источником. Вы можете просто предоставить коллекцию для использования в качестве источника данных.
Надеюсь, это немного помогло.