【问题标题】:What might cause Google chrome to not render ASP.Net validators where Firefox does?什么可能导致 Google chrome 无法在 Firefox 中呈现 ASP.Net 验证器?
【发布时间】:2011-04-04 15:06:34
【问题描述】:

我正在开发的网站中的注册页面收集了 2 个指定联系人的信息,他们要求拥有不相互重叠的电子邮件地址和电话号码。

我使用了几个 requiredfieldvalidatorsregularexpressionvalidatorsCompareValidators 和一些 customvalidators

STAGING-> Firefox:当我使用 Firefox 查看此页面时,一切正常。

Staging-> Chrome:当我使用 Chrome 查看它时,呈现页面的 HTML 源代码中缺少与验证器有关的任何内容。这些页面中完全没有与上述验证有关的 javascript 和标签。

本地 -> Chrome:一切正常

那我做错了什么?


更新

  • 暂存机具有 .Net 3.5 SP1。本地机器有 3.5 SP1 和 4.0
  • %SystemRoot%\Microsoft.NET\Framework\ v2.0.50727\CONFIG\Browsers 文件夹在两台机器上相同。
  • 尝试从本地开发机器上的 %SystemRoot%\Microsoft.NET\Framework\ v4.0.30319\Config\Browsers 删除浏览器文件。没有效果。验证器在引用本地服务器时仍然有效

已解决: 给 Will 打满分,因为如果没有他的帮助(下),我会花几个小时在这上面。

从技术上讲,错误的浏览器嗅探归结为解决方案中的一个 web.configs 中的一些 rouge browsercaps 信息。 dev 和 deploy 之间的差异是因为 web.config 在这些场景中不同

【问题讨论】:

  • 您是否在 Staging Chrome 中启用了 JavaScript?
  • 我不认为这是你在做什么;框架本身对客户端的验证支持做出了一些决定......问题:验证是否在服务器端工作?
  • @Michael 相同版本的 chrome 在本地工作,但在暂存站点上失败。

标签: asp.net firefox google-chrome validation


【解决方案1】:

也许是 ASP.Net 的内置浏览器嗅探:http://msdn.microsoft.com/en-us/library/x3k2ssx2.aspx

【讨论】:

  • 同一 Chrome 实例适用于同一站点的本地开发人员副本。
  • 我认为 Will 正在做某事,也许浏览器功能数据 (%SystemRoot%\Microsoft.NET\Framework\versionNumber\Config\Browsers) 在登台服务器上已过时 - 缺少 . NET 服务包/更新可能吗?
  • 完全有可能。您可以通过创建一个转储(递归)Request.Browser 对象的页面来检查
  • 您也可以完全关闭浏览器检测:stackoverflow.com/questions/435989/…
  • 好的,这两台机器上的 2 个“浏览器”文件夹看起来是相同的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-09
  • 1970-01-01
  • 2014-03-27
  • 2017-10-20
  • 2015-06-23
  • 2015-02-26
  • 1970-01-01
相关资源
最近更新 更多