我尝试在我的项目中使用通配符URL,但它对我不起作用。我将页面网址设置为/path/to/page/{UserId}
(我还尝试了UserName
和NinjaMaster
通配符名称以防止命名冲突)但我无法在模板或网页部分访问此变量(I尝试过Repeater web part。。
在我的HTML模板中,我尝试{% UserId #%}
,{% UserName #%}
和{% NinjaMaster #%}
来写入传递的值,但没有任何反应。我尝试了/path/to/page/12345
,/path/to/page/?UserId=12345
,/path/to/page/?userid=12345
等网址。
答案 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)
要从URL加载查询字符串参数的值,请使用以下格式的宏:
{? parameter ?}
查询字符串宏支持所有K#语法。所有可用查询字符串参数的名称自动作为存储相应参数值的变量。
例如,在包含/Home.aspx?nodeid=10等网址的网页上,{? nodeid ?}
会解析为10。
或者,您可以在标准宏中获取查询字符串参数的值:
{% QueryString.parameter %}