2016-05-13 49 views
0

Page_Load事件上,我將數據從db加載並綁定到DropDownList回發時DropDownList值爲空

開始從數據庫中的數據裝載前,我加了默認值:

ddlDrop.Items.Add(new ListItem("All","All")); 
ddlDrop.SelectedIndex = 0; 

在循環:

ddldrop.Items.Add(new ListItem()); 

,它的工作完美。

問題是當我更改SelectedIndex時,它是回傳的,但所選的DropDownList值爲空。

ddlDrop.SelectedItem.Value - >返回空而不是選定的值。

+0

你使用更新面板嗎? –

+0

@AhsanAzizAbbasi nope,即時通訊不使用更新頁面加載時的下拉式綁定 – theinarasu

+0

當綁定下拉時,您檢查了IsPostBack屬性? –

回答

1

如果在頁面加載中添加下面的代碼。

ddlDrop.Items.Add(new ListItem("All","All")); 
ddlDrop.SelectedIndex = 0; 

它每次都會執行回發。因此您在每次回傳時都設置了索引0,並且您的選擇將丟失。只是把一個if條件

if(!IspostBack)// will prevent from executing on every postback 
    { 
     ddlDrop.Items.Add(new ListItem("All","All")); 
     ddlDrop.SelectedIndex = 0; 

    } 
+0

謝謝你的提示 – theinarasu

+0

告訴我,如果這項工作 –

+0

如果這個工作,請標記爲答案 –

0
here is the sample  


<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
     <triggers> 
        <asp:AsyncPostBackTrigger ControlID="ddldropdown" /> 
      </triggers> 
     <ContentTemplate> 

    <asp:dropbdown ID="ddldropdown" etc...../> 

     </ContentTemplate> 
    </asp:UpdatePanel> 
+0

謝謝兄弟:) – theinarasu

0

的代碼,並有可能是另一個問題,造成這個問題是enableviewstate屬性.. 如果這個值設置爲false,我們檢索後找回狀態可從數據庫下拉列表特定時listItems因爲房產價值爲假。

觸發這個問題時常見的錯誤可能是手動的,我們在後臺設置enableviewstate爲false,而在視圖中爲true,所以仔細檢查這個屬性。

0

首先在你的下拉

設置AppendDataBoundItems="true"在開始從數據庫中的數據加載,默認值應更改爲

ddlDrop.Items.Insert(0, new ListItem("All", "All")); 

將在指數0,這將是您的默認選擇添加項目。那麼你可以根據你的需要更改SelectedIndex,它將保持該值而不是0.