2012-07-24 43 views
1

我有一個dropdownlist在我的asp.net頁面下拉列表的selectedIndex不節能

<asp:RadioButtonList ID="rdblstcookinglevel" runat="server" CellPadding="0" 
    CellSpacing="0" > 
    <asp:ListItem>Novice</asp:ListItem> 
    <asp:ListItem>Beginner</asp:ListItem> 
    <asp:ListItem>Intermediate</asp:ListItem> 
    <asp:ListItem>Expert</asp:ListItem> 
    <asp:ListItem>Professional</asp:ListItem> 
</asp:RadioButtonList> 

在頁面加載時,selectedvalue是基於來自數據庫中的值設置。

rdblstcookinglevel.SelectedValue = user.CookingLevel; 

但是,當頁面用戶改變選擇,selectedindex不會改變,所以老選定值發送回數據庫。

User.CookingLevel = rdblstcookinglevel.SelectedValue; 

回答

1

確保SelectedValue的設置只在頁面第一次加載完成的 - 而不是在完成後回,即..

if(!Page.IsPostBack) 
{ 
    rdblstcookinglevel.SelectedValue = user.CookingLevel; 
} 
+0

謝謝這麼多,它解決了我的問題:) – 2012-07-24 10:59:24

0

確保值賦給在下拉列表中,只有當頁面加載在第一時間

試試這個

If(!IsPostBack) 
    { 
     rdblstcookinglevel.SelectedValue = user.CookingLevel; 
    } 

這將阻止發送到數據庫,而不是新建一個

希望我幫助

0

我張貼在這裏希望這是爲他人,也爲我今後的參考有用的舊值。我遇到了一個dropdownlist沒有保存我在代碼中設置的selecteditem的問題。在做了一些挖掘之後,我發現這個錯誤是我自己的(儘管基於我不知道的dropdownlist的限制)。我正在使用我創建的項目動態填充下拉列表。我給每個項目獨特的文字,但不是一個獨特的價值。顯然這會造成混亂。所以,如果您遇到此問題,請檢查每個dropdownlist項目是否具有唯一值。

相關問題