好吧,所以我有一個DropDownList控件包含50個ListItems,每50個狀態之一。文本值反映了每個文本值唯一的每個狀態名稱。但是,每個列表項的值屬性都包含該州的當前稅率,這意味着某些值不是唯一的。此控件上的回傳不斷更改所選項目。有沒有解決這個問題的方法?DropDownList與非唯一值是搞砸視圖狀態/回發
要複製,請將以下代碼複製到新的網絡表單中。它只是一個簡單的DropDownList。嘗試選擇不同的狀態。其中一些堅持,而另一些則不堅持。例如,嘗試選擇「愛達荷州」作爲國家;它由於某種原因返回阿肯色州。這發生在OnSelectedIndexChanged事件甚至發生之前,因爲如果我選擇「愛達荷州」,然後在回發的事件方法中讀取選定的項目,則選定的項目是阿肯色州!很煩人。
State:<br />
<asp:DropDownList BorderWidth="3px" AutoPostBack="true" BackColor="#ffffcc" ID="ddlBillingState"
runat="server">
<asp:ListItem Value="0" Text="Not Specified"></asp:ListItem>
<asp:ListItem Value="4" Text="Alabama"></asp:ListItem>
<asp:ListItem Value="0" Text="Alaska"></asp:ListItem>
<asp:ListItem Value="5.6" Text="Arizona"></asp:ListItem>
<asp:ListItem Value="6" Text="Arkansas"></asp:ListItem>
<asp:ListItem Value="8.25" Text="California"></asp:ListItem>
<asp:ListItem Value="2.9" Text="Colorado"></asp:ListItem>
<asp:ListItem Value="6" Text="Connecticut"></asp:ListItem>
<asp:ListItem Value="6" Text="District of Columbia"></asp:ListItem>
<asp:ListItem Value="0" Text="Delaware"></asp:ListItem>
<asp:ListItem Value="6" Text="Florida"></asp:ListItem>
<asp:ListItem Value="4" Text="Georgia"></asp:ListItem>
<asp:ListItem Value="4" Text="Hawaii"></asp:ListItem>
<asp:ListItem Value="6" Text="Idaho"></asp:ListItem>
<asp:ListItem Value="6.25" Text="Illinois"></asp:ListItem>
<asp:ListItem Value="7" Text="Indiana"></asp:ListItem>
<asp:ListItem Value="6" Text="Iowa"></asp:ListItem>
<asp:ListItem Value="5.3" Text="Kansas"></asp:ListItem>
<asp:ListItem Value="6" Text="Kentucky"></asp:ListItem>
<asp:ListItem Value="4" Text="Louisiana"></asp:ListItem>
<asp:ListItem Value="5" Text="Maine"></asp:ListItem>
<asp:ListItem Value="6" Text="Maryland"></asp:ListItem>
<asp:ListItem Value="6.25" Text="Massachusetts"></asp:ListItem>
<asp:ListItem Value="6" Text="Michigan"></asp:ListItem>
<asp:ListItem Value="6.875" Text="Minnesota"></asp:ListItem>
<asp:ListItem Value="7" Text="Mississippi"></asp:ListItem>
<asp:ListItem Value="4.225" Text="Missouri"></asp:ListItem>
<asp:ListItem Value="0" Text="Montana"></asp:ListItem>
<asp:ListItem Value="5.5" Text="Nebraska"></asp:ListItem>
<asp:ListItem Value="6.85" Text="Nevada"></asp:ListItem>
<asp:ListItem Value="0" Text="New Hampshire"></asp:ListItem>
<asp:ListItem Value="7" Text="New Jersey"></asp:ListItem>
<asp:ListItem Value="5" Text="New Mexico"></asp:ListItem>
<asp:ListItem Value="4" Text="New York"></asp:ListItem>
<asp:ListItem Value="5.75" Text="North Carolina"></asp:ListItem>
<asp:ListItem Value="5" Text="North Dakota"></asp:ListItem>
<asp:ListItem Value="5.5" Text="Ohio"></asp:ListItem>
<asp:ListItem Value="4.5" Text="Oklahoma"></asp:ListItem>
<asp:ListItem Value="0" Text="Oregon"></asp:ListItem>
<asp:ListItem Value="6" Text="Pennsylvania"></asp:ListItem>
<asp:ListItem Value="7" Text="Rhode Island"></asp:ListItem>
<asp:ListItem Value="6" Text="South Carolina"></asp:ListItem>
<asp:ListItem Value="4" Text="South Dakota"></asp:ListItem>
<asp:ListItem Value="7" Text="Tennessee"></asp:ListItem>
<asp:ListItem Value="6.25" Text="Texas"></asp:ListItem>
<asp:ListItem Value="4.7" Text="Utah"></asp:ListItem>
<asp:ListItem Value="6" Text="Vermont"></asp:ListItem>
<asp:ListItem Value="5.0" Text="Virginia"></asp:ListItem>
<asp:ListItem Value="6.5" Text="Washington"></asp:ListItem>
<asp:ListItem Value="6" Text="West Virginia"></asp:ListItem>
<asp:ListItem Value="5" Text="Wisconsin"></asp:ListItem>
<asp:ListItem Value="4" Text="Wyoming"></asp:ListItem>
</asp:DropDownList>
我甚至嘗試禁用ViewState中,然後OnSelectedIndexChanged我將存儲在ViewState中所選擇的指數[「的selectedIndex」]和檢索它的回傳和重新填充下拉列表。但正如我之前所說,因爲選定的項目是一個不同的價值觀之前,它甚至到達事件,它只是存儲螺旋值在我的自定義視圖狀態字段。
謝謝,這就是我所害怕的。當它歸結爲一些不可能的東西時就會唾棄。我花了好幾個小時試圖找出視圖狀態被修改的地方,以便發現它與視圖狀態無關。大聲笑 – Chev 2010-12-01 18:34:13
我實際上是要額外的英里,並建立稅務數據庫表。如果稅率發生變化,我應該首先做到輕鬆修改。這是當你偷工減料時發生的情況:P – Chev 2010-12-01 18:47:35