如何在Kentico 9中使用通配符URL?

时间:2016-08-21 09:55:31

标签: url wildcard kentico

我尝试在我的项目中使用通配符URL,但它对我不起作用。我将页面网址设置为/path/to/page/{UserId}(我还尝试了UserNameNinjaMaster通配符名称以防止命名冲突)但我无法在模板或网页部分访问此变量(I尝试过Repeater web part。。

在我的HTML模板中,我尝试{% UserId #%}{% UserName #%}{% NinjaMaster #%}来写入传递的值,但没有任何反应。我尝试了/path/to/page/12345/path/to/page/?UserId=12345/path/to/page/?userid=12345等网址。

3 个答案:

答案 0 :(得分:2)

URL中的通配符名称实际上是查询字符串。

访问/path/to/page/5(并且通配符网址为/path/to/page/{UserId})时,网址会被重写为/CMSPages/PortalTemplate.aspx?aliasPath=/actual/path/to/page&UserId=5

的内容

要访问宏中的查询字符串值,请使用{% QueryString.UserId %}

答案 1 :(得分:1)

了解query string macros。 您可以使用两种语法:{? UserId ?}{% QueryString.UserId %}

答案 2 :(得分:0)

我直接引用Kentico's documentation

要从URL加载查询字符串参数的值,请使用以下格式的宏:

{? parameter ?}

查询字符串宏支持所有K#语法。所有可用查询字符串参数的名称自动作为存储相应参数值的变量。

例如,在包含/Home.aspx?nodeid=10等网址的网页上,{? nodeid ?}会解析为10。

或者,您可以在标准宏中获取查询字符串参数的值:

{% QueryString.parameter %}