2013-02-13 80 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

相关问题