0

我有一个 WebForms 应用程序,它在下拉列表中使用字段验证器。它适用于 IE,但不适用于 FireFox。

这是我正在做的非常简单的事情。以下是下拉菜单和验证器的设置:

<asp:DropDownList ID ="dmbFileActNo" runat="server" CssClass="DROPDOWN_MEDIUM" AutoPostBack="True"></asp:DropDownList>

<asp:requiredfieldvalidator EnableClientScript="true" id="rfvFileActNo" Display="None" ControlToValidate="dmbFileActNo" Runat="server"  InitialValue="-1"></asp:requiredfieldvalidator>

我在 Web 服务器上运行 ASP.Net 2.0。在 FireFox 浏览器上启用了 Javascript——这个问题发生在我测试过的所有 FF 浏览器上,在多台日常机器上,所以我不相信这是由于安装锁定造成的。

4

4 回答 4

2

客户端验证可能不适用于所有浏览器和所有场景。确保您始终在服务器上进行验证也很重要。

您可能还想查看验证控件上的DetermineRenderUpLevel()方法在FF 中返回的内容。在幕后,它会检查以下内容是否属实:

  • 浏览器启用了客户端脚本。
  • 存储在 HttpRequest.Browser 属性中的 HttpBrowserCapabilitiesBase 对象的 W3CDomVersion 属性为 1 或更高版本。
  • 存储在 HttpRequest.Browser 属性中的 HttpBrowserCapabilitiesBase 对象的 EcmaScriptVersion 属性为 1.2 或更高版本。
于 2010-04-27T16:48:39.127 回答
2

我通过修改 web.config 得到了这个工作。事实证明,有人<xhtmlConformance mode="Legacy"/>在那里,这是一个较旧的设置(当前默认设置为“过渡”)。感谢大家的帮助。

于 2010-04-27T20:34:39.413 回答
1

有时 ASP.net 会向不同的浏览器发送不同的 HTML/javascript。检查您的 browsercap 文件/设置

于 2010-04-27T16:45:32.430 回答
1

我遇到过这个问题,这是使用点字符“。”的问题。在控件的 id 属性内

于 2011-04-19T06:37:33.117 回答