2012-02-24 14 views
7

現在、ユーザーのブラウザで行われたフォーム自動補完を削除しようとしています。これは、パスワードフィールドを埋めるために重大な動作を引き起こす可能性があります。私はすでにすべての私のテキストボックスにautocompletion属性を追加しましたが、Firefoxで試してみると、現在のログイン情報がフィールドに読み込まれます。MVCでブラウザの自動補完を削除する

この問題を解決する方法はありますか?

ありがとうございます。

EDIT:明らかではないので、私はすでにaucompletion属性を "off"に設定して追加しています。

+0

私は答えを更新しました: – gideon

答えて

16

htmlにautocomplete=offというプロパティがあります。

あなたが表示されますHTMLを検査し、この非常にページの右上の検索ボックスに使用されます。

<input autocomplete=​"off" name=​"q" class=​"textbox" placeholder=​"search" ..... /> 

はこのMDNの記事を参照してください:MVCでhttps://developer.mozilla.org/en/How_to_Turn_Off_Form_Autocompletion

あなたがでこれを実装しますフォームまたはそのようなテキストボックスのために:

Html.BeginForm(
    action, controller, FormMethod.Post, new {autocomplete="off"}) 

OR

Html.TextBoxFor(model => model.EmployerNumber, new {autocomplete="off"}) 
+1

フォームに追加すると、入力に追加するとうまくいかない場合があります(IEを見て) – stuartdotnet

0

テキストボックスのid属性とname属性をランダム化することができます。これにより、ブラウザの自動補完機能が動作しなくなります。ビューで

マイ実装

:コントローラで

<% 
    var guidString = Guid.NewGuid().ToString(); 
%> 
<%=Html.TextBox(guidString, String.Empty)%> 
<%=Html.Hidden("NameGuid", guidString) %> 

string userName = Request[model.NameGuid]; 
... 
+2

うわー、あなたは速かった!私はちょうど同じ答えを追加していた! – Wizard79

1

あなたがHEREをチェックすると、フォーム上のautocomplete="off"を設定すると、トリックを行う必要があります。

+0

StackOverflowの検索ボックスを調べると、同じ方法でこれが達成されます。 –

+0

うん!私が言ったことはそうです:) – gideon

+0

@Html.EditorFor(model => model.HashedPassword, new { autocomplete = "off" }) @Html.ValidationMessageFor(model => model.HashedPassword)
私はすでにautocompletion属性をoffに設定していますが、HTMLソースコードをチェックすると、入力マークダウンの属性がありません。 – Oflocet

関連する問題