原創|使用教程|編輯:郝浩|2013-03-13 15:53:55.000|閱讀 420 次
概述:DevExpress DXTREME ENTERPRISE里的一個路由規則包括三個部分,并指定如何處理一個特定的URL,本文將為你詳細介紹。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
DXTREME ENTERPRISE里的一個路由規則包括三個部分,并指定如何處理一個特定的URL,下面來詳細的看一下:
URL Pattern
路由規則的 URL Pattern給參數指定一個URL,這個URL必須包含在處理的規則中,此外參數名稱的開頭要加上一個冒號,并用斜線分開。舉例來說:“:view/:category/:id”pattern將適用于任何的URL,同時包含三種用斜線來分隔的數據串值(比如說“Order/Beverage/108”)。
當路由規則解碼一個URL來導航到一個視圖時,參數和值將被復制到ViewModel,因此,導航到“ Order/Beverage/108”的URL時,從前面的例子中,命令中的ViewModel將包含以下屬性:
{ view: "Order", category: "Beverage", id: 108 }
你可以使用常用的值來替代參數,舉例來說:“:view/Details”pattern將會適用于任何的包含兩個字符串值的URL,其中的第二個值是“Details”。
值得注意的是,盡管你不打算通過URL傳遞任何參數,但是任然可以決定你要導航的視圖,前提是這個URL必須包含一個可視化的參數,或者指定一個默認的可視化參數值。
Default Parameter Values
通過指定參數的默認值,使得參數是可選的。在實例中,即時一個URL沒有指定參數,這個規則依然可以用來傳遞URL。指定默認的參數值作為一個屬性名稱對應到參數名稱的對象,屬性值中包含的默認參數值。
{ view: "index", category: undefined, id: undefined }
Parameter Constraints
約束指定的值的范圍到一個可以接受的參數,如果一個URL指定的一個參數值超過了參數約束范圍,這個規則將不會用來處理URL。
這個約束被指定了一個對象,其屬性名稱對應到參數名稱,屬性值中包含的約束表達式,這個值可以是一個JavaScript的正則表達式,或者是字符串表示形式。
{ id: /\d+/, category: "\\d+" }
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件