2013-02-13 29 views
0

我有多個下拉列表。我正在嘗試將下拉列表輸入值添加到一起,並將答案顯示在文本框中。我將這些值轉換爲算術運算的整數,然後轉換回字符串以在文本框中顯示答案。dropdownlist value:從字符串轉換爲int,然後返回到字符串並在文本框中顯示

它在Visual Studio中生成且沒有錯誤,並在瀏覽器中加載。但是,如果您選擇一個下拉列表,則會發生錯誤:「輸入字符串的格式不正確。」對於我的生活,我找不到代碼的錯誤:

displayRed是文本框我想要的答案在 Red1DD,Red2DD等是下拉列表。

displayRed.Text = 
    (Convert.ToInt32(Red1DD.SelectedValue.ToString()) 
+ Convert.ToInt32(Red2DD.SelectedValue.ToString()) 
+ Convert.ToInt32(Red4DD.SelectedValue.ToString()) 
+ Convert.ToInt32(Red8DD.SelectedValue.ToString()) 
+ Convert.ToInt32(Red16DD.SelectedValue.ToString()) 
+ Convert.ToInt32(Red32DD.SelectedValue.ToString()) 
+ Convert.ToInt32(Red64DD.SelectedValue.ToString()) 
+ Convert.ToInt32(Red128DD.SelectedValue.ToString())).ToString(); 

這是什麼dropdownlists的一個樣子:

<asp:DropDownList ID="Red1DD" runat="server" AutoPostBack="True" OnSelectedIndexChanged="red_SelectedIndexChanged"> 
     <asp:ListItem Selected="True" Value="" Text="--" /> 
     <asp:ListItem value="0" Text="0" /> 
     <asp:ListItem value="1" Text="1" /> 
</asp:DropDownList> 
+0

用一個整數值初始化你dropdownlists當你第一次打開頁? – Steve 2013-02-13 21:40:02

+0

你是如何下拉列表數據綁定? – 2013-02-13 21:42:41

+1

爲什麼不簡單設置'List '爲'DataSource'爲組合,然後使用'(int)SelectedItem'進行算術,然後在最終結果中使用'ToString()'? – 2013-02-13 21:43:00

回答

0

你應該使用的Red1DD.SelectedItem.Text;代替SelectedValue.ToString()

displayRed.Text = 
    (Convert.ToInt32(Red1DD.SelectedItem.Text) 
+ Convert.ToInt32(Red2DD.SelectedItem.Text) 
+ Convert.ToInt32(Red4DD.SelectedItem.Text) 
+ Convert.ToInt32(Red8DD.SelectedItem.Text) 
+ Convert.ToInt32(Red16DD.SelectedItem.Text) 
+ Convert.ToInt32(Red32DD.SelectedItem.Text) 
+ Convert.ToInt32(Red64DD.SelectedItem.Text) 
+ Convert.ToInt32(Red128DD.SelectedItem.Text)).ToString(); 
+1

選定的值和文本是完全不同的... SelectedItem.Text只給你顯示的文本不是項目的值 – Garry 2013-02-13 21:45:06

相關問題