2014-02-24 21 views
3

我正在開發一個ASP.Net 4.0應用程序。在一個Web表單上,有很多輸入框。爲什麼Firefox問你想記住非密碼文本框的密碼?

一個輸入框有以下

<asp:TextBox ID="InputStu1LastName" runat="server" OnTextChanged="InputStu1LastName_TextChanged" AutoPostBack="true" AutoCompleteType="None" TextMode="SingleLine" ></asp:TextBox> 

我部署此駐留在我的機器上的Web服務器,因此其他可以在部署之前做測試。

當我點擊提交按鈕,火狐總是問我

「你想記住ABCD這臺機器上的密碼,?」

ABCD實際上是對InputStu1LastName場

輸入值我輸入我理解文本框中默認的TextMode爲單線。就我而言,我甚至沒有那個。由於Firefox一直認爲它是一個密碼文本框,所以我添加了這個atrirbute,並且我仍然收到了這條消息。

我用螢火蟲排除故障,但找不到任何東西。這只是另一種普通的文本框,而不是密碼輸入欄 檢查員指示我甚至改變了代碼喜歡這個

<asp:TextBox ID="InputStu1LastName" runat="server" ></asp:TextBox> 

我仍然得到消息

這是唯一的文本字段火狐認爲,爲密碼字段

我有其他的領域,如InputStu2LastName,InputStu3LastName等有趣的事情,他們都是從InputStu1LastName

此外,當我的老闆測試我的應用程序克隆在他的機器上使用Chrome,它預先填充了用戶名。 Chrome認爲該字段是用戶名字段

任何技巧都可以幫助解決問題?

謝謝你的任何提示。

這是渲染

<input name="ctl00$ContentPlaceHolder1$InputStu1LastName" maxlength="50" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ContentPlaceHolder1$InputStu1LastName\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" id="ctl00_ContentPlaceHolder1_InputStu1LastName" class="validate[required]" type="text"> 

就像我之前說的,我已經做了很多事情,如去掉類名,事件和最大長度後的HTML標記,並沒有什麼作品

而且其他從該字段克隆的字段不存在問題。

+1

你可以發佈該標記字段實際在瀏覽器中呈現的HTML標記嗎? –

+0

我只是更新我的帖子。謝謝 – user12345

+0

謝謝。只是一個提示:爲了讓任何代碼(HTML/C#/ JS等)在您的文章中正確顯示 - 選擇它並單擊工具欄中的「{}」圖標。 –

回答

0

我相信問題不在這個文本框中。 當它檢測到一個用戶名火狐說什麼/傳遞的形式是這樣的:

你想記住有關HTTP「username」的密碼:// ...

所以,很可能你的表單中有其呈現HTML像一個文本框:

<input id="tbpwd" type="password" > 

它必須位於右後上述「InputStu1LastName」,從而欺騙火狐認爲它包含了用戶名。在代碼隱藏

AutoCompleteType="Disabled" 

有問題的文本框:在隱藏代碼就會有

TextMode="Password" 

爲了防止火狐試圖在這種情況下非常有用,添加屬性附加傷害。