2014-11-06 41 views
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被拋出。

回答

1

如果該成員不在列表中,他不在場。你爲什麼要這樣的行爲?用戶是否需要老成員?

你可以創建一個包含所有成員的新舊列表 - 但是你將不得不編碼沒有聲明的列表。你無法使用源代碼控制。您可以簡單地提供一個集合以用作數據源。

希望這有所幫助。

+0

我添加了更多細節。公司需要記錄誰被分配到該記錄的歷史記錄,即使他們不存在。我想將它變成一個文本框,以便他們可以輸入員工姓名,但他們真的很喜歡下拉列表,因爲它很方便。 – 11011 2014-11-06 18:20:49

+0

好吧,我看到 - 我將創建列表 - 與代碼隱藏查詢的組合 - 使用戶的集合,並將其作爲數據源。或者,也許你應該爲老成員創建兩個表格,爲新成員創建一個表格並加入他們。並使用結果行,然後你綁定將工作。您應該只使用selectedIndex = -1,而不要選擇null IMO。 – riceman 2014-11-10 19:47:12

相關問題