2010-04-27 103 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屬性裏面