Ok,
Ich würde in normalem asp.net ein Thema verwenden, um Autocomplete auf allen Textfeldern auf einer ganzen Site abzuschalten. Allerdings kann ich das nicht auf MVC tun, da nichts in den .skin-Theme-Dateien zu funktionieren scheint.
Ich habe dies in meiner .skin-Datei:
%Vor%aber das macht das überhaupt nicht, natürlich, weil MVC nicht so funktioniert. Wie auch immer, ich kann irgendwie so etwas zur Arbeit bringen. Die Site, auf der ich versuche, ist zu groß, um jede Textbox zu ändern oder einen neuen HTML-Helfer zu erstellen, um das Problem zu lösen?
Hat jemand irgendwelche Ideen?
Cheers für die Antworten Jungs, aber diese Lösungen würde wirklich erfordern, dass ich alle Formulare auf der Website bearbeiten, wenn Sie die Verwendung von MVC, die wir tun, gesehen haben, würden Sie verstehen.
Wie auch immer, ich habe mich für diesen Weg entschieden, auf der Masterseite habe ich dieses Skript hinzugefügt:
%Vor%Ich weiß, wenn Javascript deaktiviert ist, ist das wertlos, aber um ehrlich zu sein, wenn Javascript deaktiviert ist, werden die Benutzer nicht in der Lage sein, die Hälfte der Seite zu benutzen.
MVC verfügt nicht über Serversteuerelemente wie einfaches altes ASP.NET. Daher wird auf Ihren Steuerelementen keine Serververarbeitung ausgeführt. Sie werden dem Kunden genau so wiedergegeben, wie Sie sie eingeben. Designs werden in MVC nicht verwendet, da sie für ASP.NET-Serversteuerelemente gelten und Sie diese nicht verwenden. Das heißt, HTML-Helfer werden vom Server verarbeitet, wenn die Ansicht gerendert wird. Sie müssen Autocomplete="off" zum tatsächlichen HTML-Steuerelement hinzufügen, indem Sie die HTML-Eigenschaften-Überladung verwenden.
%Vor%Oder was auch immer das tatsächliche HTML-Attribut ist, das gerendert wird, wenn Sie im ASP.NET-Serversteuerelement "autocomplete=" auf "off" setzen.
BEARBEITEN: Eine Option, die alle Textfelder betrifft, ist die Erstellung einer eigenen HTML-Hilfsmethode. Erstellen Sie einfach eine Erweiterungsmethode. So:
%Vor%Dann können Sie einfach tun:
%Vor% AFAIK, du kannst autocomplete = off
nicht mit css machen und es muss ein html-Attribut sein und daher gibt es nichts, was du tun könntest, was sich auf alle Textboxen auswirken würde. Eine Sache, die Sie tun können, ist, das Attribut dem Formular so hinzuzufügen (es adressiert alle Textfelder in der aktuellen Form)
oder erstellen Sie eine benutzerdefinierte Helper-Erweiterungsmethode, die BeginForm
ähnelt und dieses html-Attribut intern hinzufügt.
Fügen Sie dies einfach dem _Layout.cshtml-Dokumentende
hinzu %Vor%Tags und Links asp.net-mvc c# skin