asp:RadioButtonList'RepeatLayout'被CDN忽略

时间:2013-01-14 07:03:05

标签: asp.net webforms cdn akamai

我的网站上有WebControl,其上有asp:RadioButtonList

我将RepeatLayout属性设置为'Table'

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

然后我们设置了整个站点通过的CDN,但是只从CDN检索图像,JS和CSS文件,并且站点的其余部分通过并命中我们的服务器(因此aspx请求仍在进行中关闭我可以直接访问的服务器。)

在测试中,我已将hosts文件设置为指向CDN地址。

其他一切似乎都很好,但RadioButtonList呈现为inputlabel标记,由<br />'s分隔。如果我将RepeatLayout设置为"Flow",则应该如何渲染。

我甚至可以编辑控件中ListItems中的文本,看看它们是否更新,所以它肯定会命中我的服务器。

有没有人知道为什么我使用CDN的测试会返回错误的标记,仅适用于RadioButtonLists?

2 个答案:

答案 0 :(得分:1)

我们终于找到了这个问题。

Akaimai将自己的用户代理Akamai-Edge发送到我们的服务器页面请求中。

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

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

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

答案 1 :(得分:0)

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