5

我有一个WebControl在我的网站上有一个asp:RadioButtonList

我将RepeatLayout属性设置为'Table'.

当我正常查看该站点时,它会正确呈现(作为表格)。

然后我们设置了一个 CDN,整个站点都通过,但只有图像、JS 和 CSS 文件从 CDN 检索,站点的其余部分通过并访问我们的服务器(因此 aspx 请求仍然来自服务器我可以直接访问)。

在测试中,我已经设置了我的主机文件以指向 CDN 地址。

其他一切似乎都很好,但RadioButtonList渲染为inputlabel标签,由<br />'s. RepeatLayout如果我设置为 ,这就是它应该呈现的方式"Flow"

我什至可以编辑控件中 ListItems 中的文本,并查看它们是否更新,因此它肯定会访问我的服务器。

有谁知道为什么我使用 CDN 的测试返回不正确的标记,仅针对 RadioButtonLists?

4

2 回答 2

1

我们终于找到了问题所在。

AkaimaiAkamai-Edge在请求页面时将它自己的用户代理发送到我们的服务器。

这样做时,我们的服务器会根据用户代理返回不同的标记。(我们的站点运行 CMS Sitecore,它具有依赖于用户代理的标记。)

我们设法通过更改 Akamai 配置来解决此问题,以便来自网站访问者的普通用户代理在请求中传递到我们的服务器,而不是 Akamai 的。

我怀疑这也是 Sitecore 中的一个错误(不返回未知用户代理的默认标记)。

于 2013-03-15T04:15:21.227 回答
0

你检查过 Firebug 或 Chrome 开发者工具中的 HTML 吗?检查生成的 RadioButtonList HTML 并检查正在应用的 CSS 是否来自正确的 CSS 文件。CSS 可能来自某些(非 CDN)源,它覆盖了控件的表格布局。

于 2013-01-29T17:26:53.843 回答