5 Stimmen

Wie kann man autocomplete=off global für ASP.NET-Anwendungen festlegen?

Wir haben eine ausgereifte Anwendung, in der sensible Daten verarbeitet werden und die auf mehrere hundert Seiten und Steuerelemente angewachsen ist. Es ist nun erforderlich, die Autovervollständigung für alle Formulare und Textfelder in der gesamten Anwendung auf "Aus" zu setzen. Ich glaube nicht, dass es eine globale web.config-Einstellung gibt, die dies ermöglichen würde. Mein erster Gedanke war, eine PageBase-Klasse (von der alle Seiten erben) zu verwenden, um dynamisch alle Formular- und Textbox-Steuerelemente zu finden und dynamisch das Attribut autocomplete="off" hinzuzufügen. Erscheint dies sinnvoll oder gibt es einen besseren Weg? Vielen Dank für alle Empfehlungen.

10voto

Pavan Punkte 4049

Wenn alle Ihre Seiten eine Masterseite haben, dann versuchen Sie, die automatische Vervollständigung für Eingabefelder mit Jquery auf der Masterseite zu deaktivieren.

Sie können den folgenden Code in die Masterseite einfügen

$(document).ready(function () { $("input").attr("autocomplete", "off"); });

6voto

Moumit Punkte 6028

Versuchen Sie immer, eine BasePage y inherits alle Seiten daraus, es ist ein good practice und es hilft später sehr, wenn das Projekt allmählich zu einem monster ..... und in diesem Szenario, wenn Sie es bereits getan haben, dann ... ist es one line code ...

public abstract class BasePage : Page
{
    protected override void OnLoad(EventArgs e)
    {
        //Handling autocomplete issue generically
        if (this.Form != null)
        {
            this.Form.Attributes.Add("autocomplete", "off");
        }

        base.OnLoad(e);
    }
}

2voto

JamieSee Punkte 12176

Versuchen Sie, autocomplete="off" nur zu Ihrem Formularelement hinzuzufügen und nicht zu jedem einzelnen Steuerelement. Zumindest im IE sollte dies die Funktion für alle Steuerelemente innerhalb des Formulars deaktivieren.

Ja, wenn Sie aus irgendeinem Grund nicht in der Lage sind, eine Musterseite zu verwenden, ist die Vererbung ein vernünftiger Weg, um zu erreichen, was Sie wollen.

1voto

Gary Punkte 21

Wenn Sie MVC verwenden, dann unter Views/Shared, fügen Sie es zu Ihrem _Layout.csstml Wie Pavan sagte:

$(document).ready(function () 
{ 
     $("input").attr("autocomplete", "off"); 
}); 

Wenn Sie möchten, dass einige Kontrollen funktionieren und andere nicht, dann verwenden Sie:

$("#myInputboxName").attr("autocomplete", "off");

myInputboxName ist der Name, den Sie der id des Steuerelements gegeben haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X