在所有程式的常規設計中,最常用的功能就是預設以及合法性檢測的功能,在4-8及4-9中將為大家介紹預設(Default)及合法性檢測(Validate)功能。在Ajax新元件中提供了內建的Default以及Validate的功能,我們可不通過WebDefault以及WebValidate來完成這些基本功能。這一節我們先開始預設的內容,在Ajax新元件的預設方式可分爲4種:1.內建;2. 系統變數;3. JavaScript方式;4. ServerMethod。下面我們通過bFormViewbOrders為例,開始下面的內容。
AjaxGridView的Default方式
①內建—預設Discount(折扣)為0
選中agvDetail打開Columns的集合編輯器,找到colDiscount,我們將DefaultValue設定為0
接下來我們瀏覽一下效果,在打開“AjaxFromView訂單管理”後,在Detail上點擊新增按鈕,此時在折扣的欄位上會顯示出0
②系統變數—設定Delivery (交期)為今天
選中agvDetail打開Columns的集合編輯器,找到col Delivery,我們將DefaultValue設定為_today
同樣,我們重新瀏覽“AjaxFromView訂單管理”,此時新增detail時,系統會自動預設為今天的日期
③JavaScript方式—設定Delivery (交期)為今天
接下來我們依然以Delivery這個欄位,但是我們通過JavaScript的方法取得今天的日期從而完成預設。
同樣,我們回到上面例子使用的Column—Delivery上,我們將原先設定在DefaultValue上的值先刪除,接著我們在DefaultMethod輸入getDate。這樣的寫法表明,現在我們通過讀取Client上的JavaScript方法getDate設定Default值。
接著,我們將程式切換到“原始檔”,在head的標記內,添加如下圖的程式:
最後,我們一起察看一下瀏覽的效果:
④ServerMethod方式—設定Delivery (交期)為今天
最後,一個例子我們依然做Delivery的預設,在前面的實例中,我們採取Client取值方式。但是有時我們希望通過C#的方法來實現預設的方法時,我們可以以ServerMethod的方式實現。
我們回到上面例子使用的Column—Delivery上,我們將原先設定在DefaultMethod上的getDate修改為sOrders.getDate。這樣的寫法表明,現在我們通過讀取Server的sOrders工程上的C#方法getDate設定Default值。注意:系統是通過判斷輸入的方法名稱中間是否有”.”,如果有表明是ServerMethod
接下來,我們就需要在sOrders這個Server端加入如下圖中的程式內容。其中方法的囘傳類型需要設定為object[],其中第一個值為0,第二個參數為回傳得預設值。其中方法默認傳入參數為object[]類型,此為ServerMethod的固定格式。本個例子方法內容如下圖:請注意,該內容需要寫在public class component裏
添加了方法後,我們需要在Server的serviceManager上添加一個Service。首先選中serviceManager,找到ServiceCollection這個屬性,點開右側的按鈕。在集合編輯器中添加一個Service。將DelegateName和ServiceName都設定為getDate。設定完成後,請重新建制(build) sOrders這支程式。最後,重新啓動一下EEPNetServer。
最後,我們一起瀏覽一下執行效果:
AjaxFormView的Default方式
① 內建—預設OrderID(訂單編號)為-1,Freight(運費)為100
選中AjaxFormView1打開Feilds的集合編輯器,找到ctrlOrderID以及ctrlFreight,我們將DefaultValue設定為-1和100
接下來我們瀏覽一下效果,在打開“AjaxFromView訂單管理”後,在Master上點擊新增按鈕,此時在折扣的欄位上會顯示出100,而訂單編號為-1
② 系統變數—設定OrderDate (訂單日期)為今天
選中AjaxFormView1打開Feilds的集合編輯器,找到ctrl OrderDate,我們將DefaultValue設定為_today
同樣,我們重新瀏覽“AjaxFromView訂單管理”,此時新增Master時,系統會自動預設為今天的日期在訂單日期上
③ JavaScript方式—設定RequiredDate (需求日期)為今天
在前面AjaxGridView的例子中我們寫了一個getDate的JS的方法取得今天的日期,這裡我們就借用這個方法,來一起設定RequiredDate這個欄位。同樣我們找到Feilds屬性,在編輯器中找到ctrlRequiredDate,將DefaultMethod設定為getDate
設定完成後,我們同樣一起來瀏覽一下效果:
④ ServerMethod方式—設定ShippedDate (出貨日期)為今天
在前面AjaxGridView的例子中我們已經寫了一個getDate的ServerMethod的方法取得今天的日期,這裡我們同樣借用這個方法,在Feilds編輯器中找到ctrl ShippedDate,將DefaultMethod設定為sOrders.getDate
最後,我們來查看該功能呈現的效果。
Converted from CHM to HTML with chm2web Pro 2.85 (unicode) |