2013-11-15 150 views
1

我在Microsoft Visual Studio中使用C#編寫ASP.net代碼。我有一個下拉列表,我使用Default.aspx頁面上的「選擇數據源」下的智能標籤進行綁定。將元素添加到最初綁定到數據庫的下拉列表中

我已將它綁定到ACCESS數據庫。它目前有這樣的數據:2009年,2010年,2011年,2012年,2013年。我想找到一種方法來在數據項2009之前以編程方式插入一個單詞作爲「選擇」。所以數據項如下:選擇,2009,2010,2011,2012,2013。

當我這樣做時DropDownList1.Items.Add(new ListItem("Please Select", "1"));每次用戶從下拉列表中選擇一個項目時,它都會一直添加「請選擇」關鍵字。 我不希望發生這種情況。

在此先感謝

回答

1

page_load使用!IsPostback添加元素如下

if (!Page.IsPostBack) 
    { 
     DropDownList1.Items.Add(new ListItem("Please Select", "1")); 
    } 

<asp:DropDownList ID="DropDownList1" AppendDataBoundItems="true" runat="server" 
    DataSourceID="SqlDataSource1" DataTextField="state" DataValueField="state"> 
     <asp:ListItem Text="(Select a State)" Value="" /> 
</asp:DropDownList> 
+0

我不認爲我可以使用它,因爲每當從下拉列表中選擇一個項目,它將運行一個SQL查詢並加載圖表。我的意思是IsPostBack工作正常,但它不會將新項目添加到列表中。 – Timetraveller

+0

你可以在下拉菜單中使用初始值,然後使用'AppendDataBoundItems =「true」' –

+0

它現在可以使用!謝謝 :) – Timetraveller

0
if (!Page.IsPostBack) 
    { 
      DropDownList1.Items.Insert(0, "Please Select"); 
    } 

,並設置AppendDataBoundItems = 「真」

來解決這個問題
<asp:DropDownList ID="DropDownList1" AppendDataBoundItems="true" runat="server" 
    DataSourceID="SqlDataSource1" DataTextField="state" DataValueField="state"> 
</asp:DropDownList> 
相關問題