Как сделать DropDownList Item равным определенной цене
Я работаю на своем сайте проекта для пиццерии, используя C#. Мне нужно сделать страницу, где вы можете создать свою собственную пиццу. Проблема в том, что мой клиент может положить ингредиент 3 раза. Мне нужно сделать выпадающий список с 1x, 2x и 3x для каждого, у меня разные цены 1x = 10, 2x = 15, 3x = 20. Мой вопрос заключается в том, как я могу сделать каждый 1x, 2x и 3x равными разной цене, потому что в конце я предполагаю сделать ярлык, где указана цена.
Если у вас есть лучшие предложения, пожалуйста, оставьте комментарий (я все еще изучаю C#) Заранее спасибо за ответ.
Код до сих пор:
}
static void Main()
{
int first, second, third;
first = 10;
second = 15;
third = 20;
}
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox1.Checked == true)
{
DropDownList1.Visible = true;
Image1.Visible = true;
}
else
{
DropDownList1.Visible = false;
Image1.Visible = false;
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
// Each element = to different price
DropDownList1.DataValueField = "first";
//ListItem lst = new ListItem("Add New", "0");
}
}
1 ответ
Взгляни на Dictionaries
, с парой ключ-значение.
Например:
Dictionary<string, int> pizzas = new Dictionary<string, int>();
pizzas.Add("1x", 10);
pizzas.Add("2x", 15);
pizzas.Add("3x", 20);
Если кто-то выберет "2x", вы можете сохранить это значение в строке в selectedIndexChanged
событие DropDownList
, Давай называть это string selected = "2x"
;
Теперь вы можете узнать цену, выполнив:
int price = pizzas[selected]; // this will return 15 (key '2x' is bound to value '15', see dictionary)
Вы просто получаете Dictionary
-value
(это цена), передавая Key
(выбранный пункт) в pizzas
-толковый словарь.
Лучший пример:
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddl = (DropDownList)sender;
string selected = ddl.SelectedValue.ToString(); // lets select "2x"
int price = pizzas[selected]; // this will return 15
//Here you can set the Price Value in the Label
}