1、在项目中操作DropDownList时,我们给DropDownList赋值,设置选择的项时,
可能直接使用 DropDownList.SelectedValue赋值,这样可能有些隐藏的Bug,就是当我们赋的值不再DropDownList中的列表
时,可能会引发异常。
2、以前听说过一个名称:“防御性编程”,如果按照这种思想,下面这种写法可以更好些:
- ListItem item = ddLNewsType.Items.FindByValue(info.TypeId.ToString());
- if (item!=null)
- {
- item.Selected = true;
- }
这样就不会引发异常,可是当你再次选择下拉列表中的项目时,系统会抛出 DropDownList不能选择多个项
的异常,因为上面的代码固定地把ListItem的状态设置为选择状态,在页面销毁之前,永远就是这个状态,
解决的办法是把上面两种方法综合,
- ListItem item = ddLNewsType.Items.FindByValue(info.TypeId.ToString());
- if (item != null)
- {
- ddLNewsType.SelectedValue=info.TypeId.ToString();
- }
这样就两全其美啦。