【问题标题】:asp:RadioButtonList 'RepeatLayout' being ignored through CDNasp:RadioButtonList 'RepeatLayout' 通过 CDN 被忽略
【发布时间】:2013-03-15 12:33:38
【问题描述】:

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

我将RepeatLayout 属性设置为'Table'

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

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

在测试时,我已将我的主机文件设置为指向 CDN 地址。

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

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

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

【问题讨论】:

  • 你解决了这个问题吗?
  • 还没有。本周我们将再次调查。

标签: asp.net webforms cdn akamai


【解决方案1】:

我们终于找到了问题。

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

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 不,不是这样,因为当我查看页面的源代码时,HTML 是不同的,它显示了在任何 JS 或 CSS 对其进行任何操作之前的标记。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多