我正在从后面的代码中以编程方式使用一些控件填充 ascx 面板控件,但我无法弄清楚为什么“SelectedValue”属性未设置为我所期望的。
我有这个代码:
int i = 0;
{
var row = new Panel {ID = string.Format("row_{0}", i)};
var ddl = new DropDownList();
ddl.Items.AddRange(_templateDdl.Items.OfType<ListItem>().ToArray());
ddl.SelectedValue = "21246";
ddl.ID = string.Format("ddl_{0}", i);
row.Controls.Add(ddl);
Rows.Controls.Add(row);
}
i = 1;
{
var row = new Panel {ID = string.Format("row_{0}", i)};
var ddl = new DropDownList();
ddl.Items.AddRange(_templateDdl.Items.OfType<ListItem>().ToArray());
ddl.SelectedValue = "21240";
ddl.ID = string.Format("ddl_{0}", i);
row.Controls.Add(ddl);
Rows.Controls.Add(row);
}
问题是即使 ID 设置正确,第一个的 SelectedValue 始终与最后一个相同。
有什么方法可以监视控件,并在值被其他代码更改的情况下使 Visual Studio 中断?
欢迎任何其他建议:)
可能应该提到这是在 Umbraco 解决方案中完成的,以防它意味着什么。
谢谢