一段长时间,都付于公司的Info Syteline ERP维护。
今天终于有时间转至开发程序中来。一直以来,开发都是按步就班使用常用习惯来写程序,这次思考想使用另外一种方式去来开发,就这样,就有新问题出现。
问题是这样的,把选择的值赋给下拉式菜单(DropDownList),如下做绑定:
this.DropDownListPinZhong.Items.FindByValue(objDataRow["PinZhongId"].ToString()).Selected = true;
在运行时,
它显示一个错误Sys.WebForms.PageRequestManagerServerErrorException: Cannot have multiple items selected in a DropDownList.:
从提示中,得到启发,“Cannot have multiple items selected in a DropDownList”,可以在数据绑定前,使用DropDownList的一个方法ClearSelection()来清除选定Item。把代码改为:
this.DropDownListPinZhong.ClearSelection();
this.DropDownListPinZhong.Items.FindByValue(objDataRow["PinZhongId"].ToString()).Selected = true;
this.DropDownListPinZhong.Items.FindByValue(objDataRow["PinZhongId"].ToString()).Selected = true;
再次运行,错误消失:
后来在网上,发现也有网友出现相同的问题,而且也发现还有另外的解决方法,如下面代码写法:
this.DropDownListPinZhong.SelectedIndex = this.DropDownListPinZhong.Items.IndexOf(this.DropDownListPinZhong.Items.FindByValue(objDataRow["PinZhongId"].ToString()));