IE не предлагает сохранить пароль формы ASP.NET - PullRequest
6 голосов
/ 25 октября 2009

Иногда Microsoft делает что-то настолько ошеломляющее, что у меня болит голова. Помогите мне узнать, что это действительно не так ... пожалуйста!

У меня проблема со страницей входа на разрабатываемом сайте ASP.NET (3.5), из-за которой IE (7 или 8 ... не могу открыть 6) не предлагает сохранить пароль, когда пользователь входит в систему. Я проверил другие браузеры и Firefox, Chrome и Safari все предлагают сохранить пароль просто отлично. Я также подтвердил, что сохранение пароля IE на моих тестовых окнах работает нормально на других сайтах и, например, Google и т. Д. Работает нормально.

Поиск, который я выполнил, оказался очень небольшим, но то, что он обнаружил, похоже, говорит о том, что IE не предложит сохранить пароль, если форма на странице содержит более двух текстовых элементов управления. Это касается моей формы, в которой также есть элементы управления, позволяющие пользователю зарегистрироваться. И когда я удаляю эти дополнительные элементы управления, IE волшебным образом предлагает сохранить пароль, так что это похоже на правду.

Теперь ... если бы ASP.NET позволил мне иметь несколько форм, все было бы хорошо, и я мог бы разделить две функции на автономные формы, и IE предложит сохранить пароли. Но ASP.NET не позволяет мне сделать это, поскольку он допускает только одну форму. Я мог бы выдумать форму не runat = server и попытаться сделать это, но угадайте что? Поскольку моя страница использует MasterPage, любой добавляемый мной тег формы автоматически удаляется, даже если это не runat = server form.

Итак, я не вижу никакого способа обойти это без фундаментального изменения того, чего я пытался достичь. Похоже, я должен объяснить своим пользователям, что им не будет предложено сохранить свои пароли, если они используют IE (продукт Microsoft), потому что я разработал свой сайт с ASP.NET (э-э ... продукт Microsoft).

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

Просто для протокола, я действительно не хочу (и не понимаю, почему я должен это делать) скомпрометировать мой дизайн и разделить мои страницы на две части (что приведет к ухудшению восприятия для пользователя).

1 Ответ

2 голосов
/ 28 января 2010

@ Крис Вот к чему я и пришел в конце.

Так что для кого-то еще у меня все еще есть свои элементы активации в форме runat = server, и я обрабатываю их в коде для этой страницы. Затем у меня есть вторая стандартная HTML-форма с текстовыми полями ввода HTML, которая отправляет на другую страницу .NET. Это касается входа пользователей. Я выбираю значения на этой странице через Request.Form и обрабатываю логин отсюда.

Верх:

Все это работает, и пользователи запоминают свои логины так, как они ожидают.

Downsides:

Я потерял возможность использовать MasterPage (так как мне нужно две формы на странице), поэтому мне фактически пришлось дублировать шаблон - мне это не очень нравится.

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

Как я уже сказал, это работает, и в этом случае это было самым важным. Спасибо за ваш вклад.

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