У меня есть набор TextBox
es и набор DropDownList
s.Когда вы выбираете значение из DropDownList
, оно меняет цвет фона соответствующего TextBox
.
. Чтобы упростить это, я попытался создать Dictionary<TextBox, DropDownList>
, но свойство Key
имеет значение System.Web.UI.WebControls.TextBox
и свойство Value
равно System.Web.UI.WebControls.DropDownList
, вместо TextBox1
и DropDownList1
.
Как мне выполнить итерацию по Dictionary
, чтобы правильно установить значения TextBox
и DropDownList
?
namespace TextBoxColorPicker
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
get_box_colors();
}
protected void get_box_colors()
{
var textbox_dict = new Dictionary<TextBox, DropDownList>();
textbox_dict.Add(TextBox1,DropDownList1);
textbox_dict.Add(TextBox2,DropDownList2);
textbox_dict.Add(TextBox3, DropDownList3);
foreach (KeyValuePair<TextBox, DropDownList> entry in textbox_dict)
{
TextBox txtbox = entry.Key;
DropDownList list = entry.Value;
Label1.Text = txtbox.ToString();
Label2.Text = list.ToString();
if (list.SelectedValue == "R")
{
txtbox.BackColor = System.Drawing.Color.Red;
}
else if (list.SelectedValue == "A")
{
txtbox.BackColor = System.Drawing.Color.Gold;
}
else if (list.SelectedValue == "G")
{
txtbox.BackColor = System.Drawing.Color.Lime;
}
else
{
txtbox.BackColor = System.Drawing.Color.White;
}
}
}
}
}