2013-05-26 37 views
0

我試圖將數據源連接到下拉列表。我的數據庫中有人叫「老師」,我希望他們的名字和姓在我的下拉列表中。這裏是代碼的相關部分:將數據源連接到asp.net中的下拉列表

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
     ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
     SelectCommand="SELECT [Name], [Surname] FROM [InstructorTable] ORDER BY [Name]"> 
    </asp:SqlDataSource> 

的問題是,我只看到自己的名字,在下拉列表中沒有的姓氏。這裏有什麼問題?誰能幫忙?

謝謝

回答

1

你在找什麼是DropDownList composite datatextfield。這可以通過使用sql語句來完成。

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
    SelectCommand="SELECT [Name] + '' + [Surname] as FullName FROM [InstructorTable] ORDER BY [Name]"> 
</asp:SqlDataSource> 

然後在你的代碼DataTextField="FullName"

檢查binding-multiple-fields-to-listbox-in-asp-net

+0

謝謝,它工作時,我說測試查詢,但它不起作用瀏覽器,並提供一個錯誤說:「DataBinding:'System.Data.DataRowView'不包含名稱爲'Name'的屬性」你知道爲什麼嗎? – yrazlik

+0

它工作時,我也設置DataValueField =「FullName」,謝謝 – yrazlik

+0

你永遠歡迎 –

2

因爲下拉列表只有一個字段。

你需要concat名稱&選擇查詢中的姓氏,你會沒事的。

更新

SelectCommand="SELECT Concat([Name], [Surname]) as CombinedName FROM [InstructorTable 
+0

謝謝,但我在哪裏可以將它們連接起來?這是.aspx文件,而不是.cs文件,所以我不知道我可以在哪裏連接它們?你能告訴我嗎? – yrazlik

+0

在您的Selectcommand中。看到更新的答案(假設SQL服務器被使用) – Pleun

+0

我使用SQL服務器,但它給出了一個錯誤,說concat不是一個公認的內置函數名稱 – yrazlik