要求对字符串进行操作取值如(NULL: 440C BALL MATERIAL}C: PH13-8Mo BALL;NULL: 440C BALL MATERIAL}b: PH13-8Mo BALL)要求是根据分号取出两个字符串,生成两个dropdownlist,取出一个字符串,以”}“来拆分,把拆分的结果以冒号来拆分,冒号前面的放入dropdownlist中,当选中dropdownlist中的值也就冒号前面的值时,显示冒号后面的值进行组合。例如,当我选中第一个dropdownlist的null值时,显示440C BALL MATERIAL我写的代码是下面的但是我在运行时当我触发dropdownlist的C可以,但是直接触发null时没有触发事件,只有选过c时才可以选null
for (int i = 1; i < fenkaip.Length; i++)
{
dlist = new DropDownList();
dlist.ClearSelection();
dlist.AutoPostBack = true;
Label lbl = new Label();//生成显示控件
lbl.ID += "lbl" + i.ToString();
string[] sb = fenkaip[i].Split('}');//在分号拆分后的字符串里再根据括号进行拆分得到说明值
dlist.ID = "dlist" + i.ToString();
string shuoming = fenkaip[i].ToString() + "<br/>";
for (int z = 0; z < sb.Length; z++)
{
string[] sb2 = sb[z].Split(':'); //在括号拆分的字符串中再根据冒号拆分得到具体值
ListItem list = new ListItem();
list.Text = sb2[0].ToString();
list.Value = sb2[1].ToString();//
list.Selected = false;
list.Enabled = true;
dlist.Items.Add(list);
}
dlist.SelectedIndexChanged += new EventHandler(dlist_SelectedIndexChanged);
this.div1.Controls.Add(dlist);
//this.Form.Controls.Add(lbl);
}
}
public void dlist_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList dp = (DropDownList)(sender);
string id = dp.ID;
int idex= dp.SelectedIndex;
this.Label1.Text += dp.SelectedValue;
}