Kentico是否允许带问号的查询字符串?

时间:2017-04-19 09:07:55

标签: asp.net kentico querystringparameter

我尝试将我的ASPX网站迁移到Kentico,作为我的任务的一部分,我正在迁移网址。我需要保留我的网址结构,因此我需要保留以下网址:" foo.com/bar.aspx?pageid = 1"。

我查看了网页"网址"属性试图使用通配符,一些模式,如/bar/{pageid}- /bar/{?pageid?}-等,但Kentico总是替换问号。

有没有办法通过管理界面实现这一目标?

3 个答案:

答案 0 :(得分:0)

你不需要做任何事情来使用" foo.com/bar.aspx?pageid = 1"网址。

在根目录下创建一个页面并将其命名为bar,这样您就可以获得@ foo.com/bar.aspx页面。 Kentico和/或.net不关心你在问号后添加到网址的内容,所以foo.com/bar.aspx?pageid=1和foo.com/bar.aspx?someparam=sdf或foo一样有用的.com / bar.aspx ID = 1&安培; p = 3及T = 3

您可能(或可能不)基于查询字符串(例如分页)实现某些功能,因此它将解析查询字符串并以适当的方式操作。

答案 1 :(得分:0)

默认情况下,Kentico UI不会处理使用您显示的URL参数添加URL别名。 URL重定向模块有an article on the DevNet,其中包含可导入站点的代码,以便您在Kentico UI中执行这些重定向。我建议使用这种方法。

很遗憾,我不能共享代码示例,因为它是一篇文章,但它也有一个link to download the code。这似乎只是为Kentico 8.2编码,但我猜你可以做一些工作,使其适用于其他版本,如果你需要。

答案 2 :(得分:0)

我认为你在这里吟唱的概念很少。我将从这里的行代码开始

/bar/{pageid} - 如果您选择使用基于模式的动态网址,{pageid}是Kentico语言中的位置参数。因此,如果您有一个依赖于pageid参数的代码来获取某些数据,那么Kentico将传递该值。例如,在/bar/420的情况下,它会将pageid作为模板上的420个不同的Web部件传递

/bar/{?pageid?} - 这将搜索查询字符串参数" pageid"在请求URL上并在此处替换其值。因此,如果您通过foo.com/bar.aspx?pageid=366,则生成的网址将为/bar/366

#1是位置参数,#2是Kentico解析查询字符串宏的方式。

我希望这可以澄清。