我有一个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。
答案 0 :(得分:1)
如果该成员不在列表中,则他不在场。你为什么要这样做?用户是否需要旧成员?
您可以创建一个包含所有新旧成员的列表 - 但您必须对列表进行编码而不是声明。您无法使用源控件执行此操作。您只需提供一个集合即可用作数据源。
希望这有点帮助。