使用c#中的下拉列表计算变量折扣

时间:2012-05-01 03:11:24

标签: c# asp.net drop-down-menu operators

您好我有一个下拉列表,可以选择数量的项目。 1-8。 以每个项目为例,如果他们买一个,他们可以获得25%的折扣。如果他们买2,他们得到30%3 35%,(因此每次购买物品时涨5%。

更简单的方法是什么?我似乎很乏味。你能否提供一个exaple代码。

这就是我所拥有的,但我必须做很多if语句。

protected void Page_Load(object sender, EventArgs e)
{
    if (DropDownList1.SelectedValue == "1")
    {
        int test = Convert.ToInt32(DropDownList1.SelectedValue);
        TextBox1.Text = Convert.ToString(test * (199 * (1 - 0.25)));
    }
    else if (DropDownList1.SelectedValue == "2")
    {
        int test = Convert.ToInt32(DropDownList1.SelectedValue);
        TextBox1.Text = Convert.ToString(test * (199 * (1 - 0.30)));
    }
    else if (DropDownList1.SelectedValue == "3")
    {
        int test = Convert.ToInt32(DropDownList1.SelectedValue);
        TextBox1.Text = Convert.ToString(test * (199 * (1 - 0.35)));
    }
}

2 个答案:

答案 0 :(得分:2)

您应该使用选定的索引。因为它给出了一个数字。

将该数字乘以0.05 (0.35 -0.30 = 0.05, 0.30-0.25 = 0.05)并添加0.25

假设Selected Index0(0 * 0.05) + 0.25 = 0.25

如果是1,那么(1 * 0.05) + 0.25 = 0.30

依旧......

答案 1 :(得分:1)

尝试此操作,但请务必检查所选值是否为0

int test = Convert.ToInt32(DropDownList1.SelectedValue);
if(test!=0)
{
    TextBox1.Text = Convert.ToString(test * (199 * (1 - (0.25+(5*(test-1))))))
}