0
我有一個表格可以查看和更新記錄。數據正在從存儲過程中填充。除了我的下拉列表外,一切都可以正常使用。這背後是我的代碼:顯示下拉列表中的選定值
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
EmployeeIdTextBox.Text = sdr["EmployeeID"].ToString();
EmployeeNameTextBox.Text = sdr["EmployeeName"].ToString();
DepartmentDropDown.DataTextField = sdr["Department"].ToString();
DepartmentDropDown.DataValueField = sdr["Department"].ToString();
DepartmentDropDown.DataBind();
}
}
這是我的aspx:
<div>
EmployeeID:
<asp:TextBox ID="EmployeeIdTextBox" runat="server" CssClass="textBoxWidth" ReadOnly="True"></asp:TextBox>
</div>
<div>
EmployeeName:
<asp:TextBox ID="EmployeeNameTextBox" runat="server" CssClass="textBoxWidth" ReadOnly="True"></asp:TextBox>
</div>
<div>
Department:
<asp:DropDownList ID="DepartmentDropDown" runat="server" CssClass="textBoxWidth"></asp:DropDownList>
</div>
我可以,但是,得到的值在下拉列表中,如果我改變我的aspx像下面,但我更因爲我有幾個比下面顯示的字段更喜歡在後端執行此操作。
<asp:DropDownList ID="DepartmentDropDown" runat="server" CssClass="textBoxWidth"
DataSourceID="SqlDS1" DataTextField="Department"
DataValueField="Department" AutoPostBack="True">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDS1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT DISTINCT Department FROM Employees">
</asp:SqlDataSource>
我能做到這一切在一個步驟就像我試圖做,或做我需要做這兩個步驟?我的問題的後半部分是我還需要擁有與用戶相對應的項目,默認情況下會在下拉列表中選中。第二種方法填充下拉列表,儘管沒有被選中,因爲它是一個單獨的查詢,所以與我在表單中查看的用戶數據沒有關聯。
你必須在後面的嘗試你的代碼返回從數據庫 –
多個結果集:''DepartmentDropDown .SelectedText = sdr [「Department」]。ToString()'',你需要在第二種方式設置下拉列表中的選定項時,數據綁定在後面的代碼下拉 –
@EhsanSajjad錯誤與您的建議。下拉菜單不包含SelectedText的定義。我有trid使用SelectedItem.Text,但我得到一個錯誤「對象引用未設置爲對象的實例。」除了我在第一個例子中的位置之外,我沒有看到數據綁定的位置,這是我在第二個例子中完成的,但沒有運氣。 – aantiix