【发布时间】:2014-11-06 16:27:29
【问题描述】:
我有一个 ASP .NET(4.0) 网络应用程序。 Web 应用程序有一个包含下拉列表的表单视图。下拉列表填充如下:
<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 引发错误,因为该员工不再存在。
我知道您可以检查该项目是否存在于列表中并捕获异常。我想知道的是,如果“不存在”的工作人员不存在,是否有办法在下拉列表中显示它们?虽然姓名未列出,但员工姓名与记录一起存储。我想这样做的原因是因为用户需要查看分配给该记录的人,即使他们不再存在。
编辑:更多细节
这是用户希望它的工作方式。
- 缺少员工姓名(如果未列出,则会选择此名称,并且应仅针对该记录显示)
- 空
- 亚当
- 阿比盖尔
- 布兰登
- .....
如果可以做到这一点,那么我可以让他们知道,我会在抛出异常时让它选择 null。
【问题讨论】: