一段長時間,都付於公司的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.SelectedIndex = this.DropDownListPinZhong.Items.IndexOf(this.DropDownListPinZhong.Items.FindByValue(objDataRow["PinZhongId"].ToString()));