我正在建立一个网站。尽管很小(按页面计算),但还是有一些大笔资金登陆页面以及常用的库存页面。Webforms路由 - 相同的签名与不同的页面?
因为场地相对较小,页面结构持平。
https://example.com/contact
https://example.com/big-money-page
我们计划引进很多不同的网页设计更多的网页。这意味着我们将使用母版页和/或aspx模板页面并创建我们自己的数据库驱动的CMS。
这是我能看到的问题是与URL路由:
模板类型1
Route url: /{Name} - e.g. /big-money-page
Physica path: ~/template1.aspx
模板类型2
Route url: /{Name} - e.g. /new-supporting-page
Physical path: ~/template2.aspx
我想使这项工作不会中断现有的金钱页面,如果可能的话,保持熟悉的网站结构,对于访问者来说,template1和template2是类似的页面,并且不会自然地驻留在不同的文件夹中 - 它们只是设计不同。
此外,固定深路由文件夹结构使其难以在将来的变化。
我一直在使用WF路由有一段时间了,但总是简单的方法。任何人都知道我可以如何使这些改变在有限的后果下工作?
UPDATE --------------------------------------------- -----------------------
好的,在没有任何反馈的情况下,我想出了一个想法放在桌子上。我会很感激可以想象的可用性和任何缺点的反馈。
我的想法是有一个虚拟路由/页面。
该路线的格式为http://example.com/{name}
。
虚拟页面使用placeholder {name}
从目标页面的数据库中检索数据。
然后我们的Server.Transfer到正确的目标网页,使用我们从数据库中检索到的数据。
我认为这会工作,但我担心的事情我不知道:对Server.Transfer的
- 浏览器兼容性
- 性能开销
- 输出缓存的影响
- 其他东西,甚至没有跨越我的脑海
当然,这不是一个理想的解决方案,但我也打开任何其他想法。
感谢Alex的精湛解释。 –