Как установить autocomplete = off глобально для приложения ASP.NET? - PullRequest
5 голосов
/ 23 декабря 2011

У нас есть зрелое приложение, которое обрабатывает конфиденциальные данные и выросло до нескольких сотен страниц и элементов управления.Теперь необходимо установить autocomplete = off для всех форм и текстовых полей во всем приложении.Я не верю, что есть глобальная настройка web.config, которая бы это делала, так что будет лучшим способом?Сначала я хотел использовать класс PageBase (от которого наследуются все страницы) для динамического поиска всех элементов управления Form и TextBox и динамического добавления атрибута autocomplete = "off"Это кажется разумным или есть лучший способ?Спасибо за любые рекомендации.

Ответы [ 4 ]

6 голосов
/ 13 декабря 2013

Всегда старайтесь использовать BasePage и inherits все страницы на нем, это good practice, и это поможет позже, когда проект постепенно станет monster .....ты уже сделал это тогда .. это 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);
    }
}
5 голосов
/ 23 декабря 2011

Если все ваши страницы имеют главную страницу, попробуйте отключить автозаполнение для элементов управления вводом, используя Jquery на главной странице.

Вы можете разместить код ниже на главной странице

$(document).ready(function () { $("input").attr("autocomplete", "off"); }); 
2 голосов
/ 23 декабря 2011

Попробуйте добавить autocomplete = "off" только к элементу формы, а не к каждому элементу управления. По крайней мере, в IE это должно быть отключено для всех элементов управления в форме.

Да, если по какой-то причине у вас нет возможности использовать главную страницу, наследование - это разумный способ выполнить то, что вы хотите.

1 голос
/ 23 июня 2015

Если вы используете MVC, то в разделе Views / Shared добавьте его в свой _Layout.csstml Как сказал Паван:

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

Если вы хотите, чтобы некоторые элементы управления работали, а некоторые - нет, используйте:

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

myInputboxName - это имя, которое вы называете идентификатором элемента управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...