【问题标题】:Form tag is not being rendered on clients browsers表单标签未在客户端浏览器上呈现
【发布时间】:2011-09-21 11:18:05
【问题描述】:

好吧,我自己也是专家,但找不到任何可能导致这种行为的原因。我正在使用 ASP.NET 4.0 运行 WIN2K8 R2 大约一年。我的网站已经启动并运行,完全没有任何变化。昨天,我收到了有关网站登录不可见的投诉。

我的网站是基于 div 的,并且所有 div 都放置为层(带有 z-indexes)。登录包装器是一个简单的 div,其中包含一个表单标签 (runat=server)。

我成功恢复了案例 - 刚刚进入我的网站和 BOOM - 登录 div 丢失。试图在开发人员工具(使用 chrome)上弄乱它,但没有运气。只需按F5,它又回来了,再也没有发生过。它在同一分钟发生在 Firefox、chrome 和 IE8 上 - 但在 F5 命中后得到了很好的解决。

此 div 是唯一对某些客户端不可见的 div。显示使用相同 z-index 的其他 div。我尝试禁用 GZip、禁用 Google Analytics 和其他已加载的第 3 方 css/js,但没有成功。

奇怪的是,按 F5 后问题就解决了。 Like is 与 Cache 有关,但我明确设置了 no-cache 标头。

有专家猜猜是怎么回事吗? 服务器上唯一的变化是 Windows 更新

更新:刚刚发现管道应用引擎正在这样做!!!!!!!!!

【问题讨论】:

  • 我会用 firebug 查看请求并确认问题确实不是缓存,因为它看起来就是这样。我不会盲目相信您设置了 no-cache 标头这一事实。
  • 可能是您正在运行一些 jquery,并且它在页面加载之前被执行?第二次,所有内容都已加载,因此脚本运行。如果是这样,请确保将 jQuery 代码包装在 $(function(){/*your jquery code here..*/});
  • 刚查过,根本没有缓存。响应头:Cache-Control:no-cache, no-store Content-Encoding:gzip Content-Length:5655 Content-Type:text/html; charset=utf-8 日期:2011 年 9 月 21 日星期三 11:30:48 GMT 过期:-1 Pragma:no-cache Server:Microsoft-IIS/7.5 Vary:Accept-Encoding X-AspNet-Version:4.0.30319 p3p: CP="NID DSP ALL COR"

标签: javascript asp.net css forms


【解决方案1】:

三个建议:

  1. 通过 HTML 验证器运行您的页面。此类奇怪的错误有时是由格式错误的 HTML 引起的。
  2. 尝试捕获页面的 HTML - 服务器上的某些东西可能以不同的方式呈现它,也许它缺少第二次运行时存在的 cookie,也许它需要加载缓存 - 我无法说。
  3. 检查黑客,他们有时会插入谁知道什么的代码。

【讨论】:

  • 谢谢。它验证得很好,没有发现任何黑客。 HTML 输出很好,没有损坏的标签或其他东西。
【解决方案2】:

在隐藏的情况下,您能否通过 Chrome 中的 Firebug/Dev 工具找到该 DIV。你能检查一下它的 CSS 吗?

是否有任何脚本生成/注入 HTML 代码?

【讨论】:

  • 是的,我可以看到 div。试图编辑它的风格,但没有运气。只有当我删除它并重新插入它时 - 它又回来了。没有注射。
  • 那么它的属性是什么?当您选择它时,它是否也在页面上被hilited?是不是被什么东西重叠了?是否有任何覆盖的 CSS 属性?是否设置了显示属性?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-01
  • 2021-04-23
  • 2014-05-17
相关资源
最近更新 更多