1
我有一个ASP .NET(4.0)web应用程序。 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,因为工作人员已经不存在抛出一个错误。
我知道你可以检查项目是否存在于列表中并捕获异常。我想知道的是,如果有一种方法可以在下拉列表中显示“不存在”职员,如果他们不存在?虽然名称未列出,但员工姓名与记录一起存储。我想这样做的原因是因为用户需要查看谁被分配到该记录,即使他们不在那里。
编辑:更多详细信息
这是用户希望如何工作的。
- 失踪人员的名字(这将被选中,如果没有上市,只能显示该记录)
- 空
- 亚当
- 阿比盖尔
- 布兰登
- .....
如果可以做到这一点,那么我可以让他们知道,我会让它选择空当前ception被抛出。
我添加了更多细节。公司需要记录谁被分配到该记录的历史记录,即使他们不存在。我想将它变成一个文本框,以便他们可以输入员工姓名,但他们真的很喜欢下拉列表,因为它很方便。 – 11011 2014-11-06 18:20:49
好吧,我看到 - 我将创建列表 - 与代码隐藏查询的组合 - 使用户的集合,并将其作为数据源。或者,也许你应该为老成员创建两个表格,为新成员创建一个表格并加入他们。并使用结果行,然后你绑定将工作。您应该只使用selectedIndex = -1,而不要选择null IMO。 – riceman 2014-11-10 19:47:12