因此,当我尝试在用户选择其他项目时加载其他字符串时,我的代码为:
void ModeSelectorSelectionChanged(object sender, SelectionChangedEventArgs e)
{
var data1 = new string[]
{
"January 2012",
"February 2012",
"March 2012",
"April 2012",
};
var data2 = new string[]
{
"Married",
"Divorced",
"Buy new house",
"Get promotion",
};
if (_Menu2.SelectedIndex == 2)
{
_Menu3.ItemsSource = data1;
}
else
if (_Menu2.SelectedIndex == 3)
{
_Menu3.ItemsSource = data2;
}
}
当我只使用1个字符串时,它工作正常,但是当我尝试在同一个下拉菜单中加载2个不同的字符串时,它会关闭,这意味着它根本不显示任何字符串数据。我做错了什么?
答案 0 :(得分:1)
对于ASP.NET WebForms DropDownList,请遵循以下代码片段:
_Menu3.DataSource = someData;
_Menu3.DataBind();
也许最好在客户端移动此逻辑并使用javascript。
答案 1 :(得分:0)
试试这段代码。它对我有用,AutoPostBack对于_Menu2也是如此。
protected void ModeSelectorSelectionChanged(object sender, EventArgs e)
{
var data1 = new string[]
{
"January 2012",
"February 2012",
"March 2012",
"April 2012",
};
var data2 = new string[]
{
"Married",
"Divorced",
"Buy new house",
"Get promotion",
};
if (_Menu2.SelectedIndex == 2)
{
_Menu3.DataSource = data1;
_Menu3.DataBind();
}
else if (_Menu2.SelectedIndex == 3)
{
_Menu3.DataSource = data2;
_Menu3.DataBind();
}
}