2009年3月25日 星期三

dropdownlist 連動注意事項

dropdownlist 若同時使用靜態資料及動態聯繫
例如新增功能列出可選擇清單並增加 "請選擇"
且會因其他 dropdownlist 連動而重新bind data
則必須於 databinding 事件清除既有資料並加入靜態資料, 如下面範例

DropDownListCourseRegion.Items.Clear();
DropDownListCourseRegion.Items.Insert(0, new ListItem("請選擇", "-1"));

若僅於設計階段加入靜態資料
則於連動過程會保留原本資料再加入新的資料
造成多餘的資料留在清單中
主要原因是為了保留靜態資料而把 appenddatabounditems 設為 true
使得相依 dropdownlist 改變選取項目時把連動dropdownlist既有清單內容當做靜態資料不予清除
造成連動 dropdownlist rebind 時保留既有資料又加上新的資料

Entity Framework 建立新物件並儲存後馬上取得關聯資料

使用 CreateProxy 建立物件,不要直接 new var newmodel = _contextXXX.CreateProxy<yyy>(); ... _contextXXX.yyy.Add(newmodel); await _contextXXX.SaveC...