发生异常时,向“下拉列表”添加值

时间:2014-11-06 16:27:29

标签: c# asp.net

我有一个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因为该员工不再存在而引发错误。

我知道您可以检查列表中是否存在该项并捕获异常。我想知道的是,是否有办法显示&#34;不存在的&#34;如果他们不存在,下拉列表中的工作人员?虽然未列出名称,但员工姓名与记录一起存储。我想这样做的原因是因为用户需要查看谁被分配到该记录,即使他们不在那里。

编辑:更多详情

用户希望它如何工作。

  • 缺少员工姓名(如果未列出,则会被选中,只应显示该记录)
  • 亚当
  • 亚比
  • 布兰登
  • .....

如果可以这样做,那么我可以让他们知道,并且我会在抛出异常时选择null。

1 个答案:

答案 0 :(得分:1)

如果该成员不在列表中,则他不在场。你为什么要这样做?用户是否需要旧成员?

您可以创建一个包含所有新旧成员的列表 - 但您必须对列表进行编码而不是声明。您无法使用源控件执行此操作。您只需提供一个集合即可用作数据源。

希望这有点帮助。