資料新增與修改功能,通常可以實作在同一個表單裡,只需額外判斷欄位初始值以及是新增還是修改。
1. 列表資料增加修改功能連結
修改連結傳入2個參數:
EntityName:指定新修 Entity 名稱
KeyValue:指定修改資料主鍵值
2. 表單判斷「新增」或「修改」
依據是否有傳入 KeyValue 作為判斷是否為修改表單
3. 欄位值
修改表單,取出現在的 Entity 資料物件,再呼叫 GetValue 方法,傳入欄位定義取得目前欄位值。
IEntity original = Entity.Get(EntityName, KeyValue);
object value = original.GetValue(column);
新增表單,從 Entity 快取類別 (EntityCache) 取出規格定義,再呼叫 GetInitiateValue 方法,傳入欄位定義取得欄位初始值。
IEntity schema = Entity EntityCache.Get(EntityName);
object value = schema.GetInitiateValue(column);
無論是「目前欄位值」或是「欄位初始值」,都需要填入各式各樣的 HTML 表單裡,填入方式依據表單類型各有不同:
text <input>:加密欄位,使用 placeholder 提示,其餘填入 value 屬性。
<select>:在所在 <option> 項目加上 selected 屬性。
radio <input>:在所在項目加上 checked 屬性。
checkbox <input>:在所在項目加上 checked 屬性。