Удалить автозаполнение браузера в MVC - PullRequest
9 голосов
/ 24 февраля 2012

В настоящее время я пытаюсь удалить автозаполнение формы, выполняемое браузером пользователя, что может вызвать некоторое критическое поведение, поскольку оно заполняет поле пароля. Я уже добавил атрибут автозаполнения во все поля моего текстового поля, но когда я пытаюсь использовать Firefox, он все равно загружает мою текущую регистрационную информацию в поля.

Кто-нибудь знает, как решить эту проблему?

РЕДАКТИРОВАТЬ: так как это не ясно, я уже добавил атрибут aucompletion со значением, установленным в «off».

Ответы [ 4 ]

19 голосов
/ 24 февраля 2012

В html есть свойство autocomplete=off.

Он используется в верхнем правом окне поиска на этой самой странице, просмотрите HTML, который вы увидите:

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

См. Эту статью MDN: https://developer.mozilla.org/en/How_to_Turn_Off_Form_Autocompletion

В MVC вы бы реализовали это в форме или для текстового поля следующим образом:

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

OR

Html.TextBoxFor(model => model.EmployerNumber, new {autocomplete="off"})
1 голос
/ 24 февраля 2012

Если вы отметите ЗДЕСЬ , настройка autocomplete="off" в форме должна помочь.

0 голосов
/ 24 февраля 2012

HTML5 имеет дополнительный синтаксис для элементов формы / ввода, он называется autocomplete = "off".Смотри http://www.w3schools.com/html5/att_form_autocomplete.asp

0 голосов
/ 24 февраля 2012

Вы можете рандомизировать атрибуты id и name ваших текстовых полей - это сделает функции автозаполнения браузера не работающими.

Моя реализация

В поле зрения:

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

в контроллере:

string userName = Request[model.NameGuid];
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...