2016-08-21 23 views
1

我試圖在我的項目中使用通配符的URL,它不適合我。我設置頁面網址爲/path/to/page/{UserId}(我也嘗試UserNameNinjaMaster通配符名稱以防止命名衝突),但我無法訪問模板或Web部件中的此變量(我只試過Repeater Web部件)。如何在Kentico 9中使用通配符URL?

在我的HTML模板中,我嘗試{% UserId #%}{% UserName #%}{% NinjaMaster #%}來寫入傳遞值,但沒有發生。我嘗試過的網址類似於/path/to/page/12345,/path/to/page/?UserId=12345,/path/to/page/?userid=12345等。

回答

2

URL中的通配符名稱實際上是查詢字符串。

當訪問/path/to/page/5(和通配符URL爲/path/to/page/{UserId})時,URL重寫的東西沿着/CMSPages/PortalTemplate.aspx?aliasPath=/actual/path/to/page&UserId=5

在宏訪問查詢字符串值的線,使用{% QueryString.UserId %}

1

閱讀query string macros 。 您可以使用兩種類型的語法:{? UserId ?}{% QueryString.UserId %}

0

我從Kentico's documentation

直報價要加載格式從URL查詢字符串參數,使用宏的值:

{? parameter ?}

查詢字符串宏支持所有K#語法。所有可用查詢字符串參數的名稱將自動作爲變量存儲相應參數的值。

例如,在與像/Home.aspx?nodeid=10網址的頁面,{? nodeid ?}分解成10

或者,你可以得到標準的宏內的查詢字符串參數的值:

{% QueryString.parameter %}