我有一个下拉列表,其中包含一个边框样式名称列表,例如“Dotted,Solid,Groove ...”我需要更改borderstyle,所以尝试了这样的事情
Panel1.BorderStyle = DropDownList1.SelectedItem.ToString();
这就是我如何填充下拉列表 DropDownList3.DataSource = Enum.GetValues(typeof(BorderStyle));
但它不起作用。
尝试这样的事情
string selectedStyle = DropDownList1.SelectedItem.ToString();
if (selectedStyle == "Dotted")
{
Panel1.BorderStyle = System.Web.UI.WebControls.BorderStyle.Dotted;
}
else if (selectedStyle == "Solid")
{
Panel1.BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid;
}
// and so on ...
这对你有用吗
panel1.BorderStyle = (BorderStyle)Enum.Parse(typeof(BorderStyle),
DropDownList1.SelectedItem.ToString());
您需要在您身边添加一些额外的代码检查,以防找不到 BorderStyle
引用自 MSDN:WebControl BorderStyle
对我来说,我会做类似的事情:
panel1.BorderStyle = (BorderStyle)Enum.Parse ( typeof ( BorderStyle ), DropDownList1.SelectedItem.ToString () );
我没有尝试过,但可能你提供了一个具有真实值的 Item 集合,例如:
System.Web.UI.WebControls.BorderStyle.Dotted
System.Web.UI.WebControls.BorderStyle.Solid
etc.
然后尝试类似:
Panel1.BorderStyle = DropDownList1.SelectedItem;
panel1.BorderStyle = BorderStyle.Fixed3D;