在下拉列表中选择值时,system.formatexception输入字符串的格式不正确

时间:2016-02-08 13:01:14

标签: c# asp.net

每次我从meatyqty下拉列表中选择任何值,即使在另一个下拉列表中,错误“输入字符串的格式也不正确。这是我的代码:

protected void Page_Load(object sender, EventArgs e)
{
    int x;
    for (x = 0; x <= 100; x++)
    {
        ListItem item = new ListItem(x.ToString(),x.ToString());
        tidalqty.Items.Add(item);
        meatyqty.Items.Add(item);
        darknessqty.Items.Add(item);
        macaroniqty.Items.Add(item);
        cheesyqty.Items.Add(item);
        baconqty.Items.Add(item);
        loveqty.Items.Add(item);
    }        
}

protected void tidalqty_SelectedIndexChanged(object sender, EventArgs e)
{
    tidalprice.Text = ((double.Parse(tidalqty.SelectedValue)) * 250).ToString();
    computetotal();
}

protected void meatyqty_SelectedIndexChanged(object sender, EventArgs e)
{
    meatyprice.Text = ((double.Parse(meatyqty.SelectedValue)) * 500).ToString("f2");
    computetotal();
} 

void computetotal()
{
    double sub1 = double.Parse(tidalprice.Text);
    double sub2 = double.Parse(meatyprice.Text);

    subprice.Text = (sub1+sub3).ToString("f2");              
}

1 个答案:

答案 0 :(得分:1)

当您在每个帖子上添加/重建列表时,您很可能遇到麻烦,因此它在SelectedValue时遇到了问题。

尝试:

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
      int x;
      for (x = 0; x <= 100; x++)
      {
        ListItem item = new ListItem(x.ToString(),x.ToString());
        tidalqty.Items.Add(item);
        meatyqty.Items.Add(item);
        darknessqty.Items.Add(item);
        macaroniqty.Items.Add(item);
        cheesyqty.Items.Add(item);
        baconqty.Items.Add(item);
        loveqty.Items.Add(item);
      }       
    } 
}

我基本上添加了对Page.IsPostBack的电话。