我的网站上有WebControl
,其上有asp:RadioButtonList
。
我将RepeatLayout
属性设置为'Table'
。
当我正常查看网站时,它会正确呈现(作为表格)。
然后我们设置了整个站点通过的CDN,但是只从CDN检索图像,JS和CSS文件,并且站点的其余部分通过并命中我们的服务器(因此aspx请求仍在进行中关闭我可以直接访问的服务器。)
在测试中,我已将hosts文件设置为指向CDN地址。
其他一切似乎都很好,但RadioButtonList
呈现为input
和label
标记,由<br />'s
分隔。如果我将RepeatLayout
设置为"Flow"
,则应该如何渲染。
我甚至可以编辑控件中ListItems中的文本,看看它们是否更新,所以它肯定会命中我的服务器。
有没有人知道为什么我使用CDN的测试会返回错误的标记,仅适用于RadioButtonLists?
答案 0 :(得分:1)
我们终于找到了这个问题。
Akaimai将自己的用户代理Akamai-Edge
发送到我们的服务器页面请求中。
这样做,我们的服务器根据用户代理返回不同的标记。 (我们的网站使用CMS Sitecore,它具有依赖于用户代理的标记。)
我们设法通过更改Akamai配置来解决此问题,以便将来自网站访问者的普通用户代理传递到请求中的服务器,而不是Akamai。
我怀疑这也是Sitecore中的一个错误(没有返回未知用户代理的默认标记)。
答案 1 :(得分:0)
您是否检查过Firebug或Chrome开发者工具中的HTML?检查生成的RadioButtonList HTML并检查正在应用的CSS是否来自正确的CSS文件。它可能来自某些(非CDN)源,它覆盖了控件的表格布局。