2010-04-27 60 views
0

我有一个在下拉列表中使用字段验证器的WebForms应用程序。它适用于IE,但不适用于FireFox。ASP.Net WebForms requiredfieldvalidator不能在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浏览器上,在多台日常机器上,所以我不相信这是由于锁定安装。

回答

1

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

2

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

您可能还想看看验证控件上的DetermineRenderUpLevel()方法在FF中返回的内容。在幕后,它检查以确认以下情况:

  • 浏览器启用了客户端脚本 。
  • 的 HttpBrowserCapabilitiesBase的W3CDomVersion属性对象 存储在 HttpRequest.Browser属性是1或 以后。
  • 的 HttpBrowserCapabilitiesBase的EcmaScriptVersion属性对象 存储在 HttpRequest.Browser属性是1.2 或更高版本。
2

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

1

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