2011-09-28 160 views
0

嗨,我需要填充下拉列表。我設計了一個數據源並將其分配給下拉列表。下拉列表正確填充。但問題是,我需要添加一個默認值說:「默認」,在下拉列表(這個值默認的啓動是不是在數據庫填充下拉列表

我這樣做:

<asp:DropDownList ID="classInstructor" runat="server" DataSourceID="SqlDataSource3" 
       DataTextField="InstrName" DataValueField="InstrName"> 

     <asp:ListItem Value="Default" Text="Default" Selected="True"></asp:ListItem> 


     </asp:DropDownList> 

但默認在你的下拉列表中沒有顯示出來,也許我的方式是錯誤的,你能告訴我最好的辦法嗎?

回答

3

在下拉列表中設置AppendDataBoundItems屬性爲true,並且數據源中的項目將出現在您添加到標記中的任何ListItems之後,例如

<asp:DropDownList ID="classInstructor" runat="server" DataSourceID="SqlDataSource3" 
    DataTextField="InstrName" DataValueField="InstrName" AppendDataBoundItems="true"> 
    <asp:ListItem Value="Default" Text="Default" Selected="True"/> 
</asp:DropDownList> 
+0

哇,我不知道這一個,如果一切正常,問題我在答覆中聯是毫無意義!? –

+0

@Davide我只是看着你的答案,並認爲'我們不能**都是正確的':-)請記住,當DataSourceId在標記中聲明設置時,不會顯式調用DataBind ',這一切都是自動發生的。 – PhilPursglove

+0

@Davide看看你鏈接到的問題的第二個答案,它也談論這個屬性。 – PhilPursglove

0

如果在運行時將DropDownList綁定到數據源,那麼您不能使用此方法。此設置時在標記中使用的默認項目將在綁定中被清除。

您需要做的是調用DataBind()方法後的Insert

在這裏看到這個例子和更多的評論:Asp.net - Add blank item at top of dropdownlist