2012-02-24 9 views
7

Actualmente estoy intentando eliminar la autocompletación del formulario realizada por el navegador del usuario, lo que puede provocar un comportamiento crítico, ya que llena el campo de contraseña. Ya he agregado el atributo de autocompletado a todo mi cuadro de texto, pero cuando lo intento con Firefox todavía carga mi información de inicio de sesión actual en los campos.Eliminar la autocompletación del navegador en MVC

¿Encuentras alguna manera de resolver este problema?

Gracias de antemano.

EDITAR: Como no está claro, ya he agregado el atributo aucompletion con el valor establecido en "off".

+0

He actualizado mi respuesta :) – gideon

Respuesta

16

Hay una propiedad autocomplete=off en html.

Se utiliza en el buscador de la parte superior derecha de esta misma página, inspeccione el html verá:

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

Ver este artículo MDN: https://developer.mozilla.org/en/How_to_Turn_Off_Form_Autocompletion

En MVC se implementaría en este la forma o para un cuadro de texto, así:

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

o

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

Agregar a la forma a veces puede ayudar si no funciona el agregar a las entradas (mirándote, IE) – stuartdotnet

0

Puede aleatorizar los atributos de identificación y nombre de sus cuadros de texto, esto hará que las funciones de autocompletar del navegador no funcionen.

Mi aplicación

En vista:

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

en el controlador:

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

¡Guau, has sido rápido! ¡Solo estaba agregando la misma respuesta! – Wizard79

1

Si marca HERE, el establecimiento de autocomplete="off" en el formulario debe hacer el truco.

+0

Si inspecciona el cuadro de búsqueda de StackOverflow verá que lo lograron de la misma manera. –

+0

¡sí! Eso es lo que dije :) – gideon

+0

'

@Html.EditorFor(model => model.HashedPassword, new { autocomplete = "off" }) @Html.ValidationMessageFor(model => model.HashedPassword)
' Ya configuré el atributo de autocompletado en off, pero cuando reviso mi código fuente html no tiene el atributo en la marca de entrada. – Oflocet

Cuestiones relacionadas