【发布时间】:2010-12-09 22:42:27
【问题描述】:
有时微软会做一些非常愚蠢的事情,让我头疼。帮我看看真的不是这样……拜托!
我正在开发的 ASP.NET (3.5) 站点的登录页面存在问题,IE(7 或 8 ... 无法打开 6)不提供保存用户登录时的密码。我检查了其他浏览器,Firefox、Chrome 和 Safari 都提供保存密码的功能。我还确认在我的测试框中保存 IE 密码在其他网站上运行正常,例如谷歌等它工作正常。
我所做的搜索很少出现,但出现的很少似乎表明如果页面上的表单包含两个以上的文本控件,IE 将不会提供保存密码。我的表单就是这种情况,它还具有允许用户注册的控件。而当我删除这些额外的控件时,IE 会神奇地提示保存密码,所以这似乎是真的。
现在...如果 ASP.NET 允许我拥有多个表单,一切都会好起来的,我可以将这两个函数分离成独立的表单,IE 会提示保存密码。但是,ASP.NET 不允许我这样做,因为它只允许一个表单。我可以在那里捏造一个非 runat=server 表单并尝试这样做,但你猜怎么着?因为我的页面使用 MasterPage,所以我添加的任何表单标签都会被自动删除,即使它是非 runat=server 表单。
所以,如果不从根本上改变我想要实现的目标,我看不到任何解决方法。看来我必须向我的用户解释,如果他们使用 IE(Microsoft 产品),他们将不会被提示保存密码,因为我使用 ASP.NET(错误……Microsoft 产品)开发了我的网站。
如果是这样,我就是无法理解这是多么荒谬可笑。如果有人可以就如何绕过它提供任何想法,可以告诉我我错了,我自己就是一个大笨蛋,或者只是想确认不仅仅是我认为这非常愚蠢,那么请,请这样做。
仅作记录,我真的不想(也不明白为什么必须)妥协我的设计并将我的页面分成两部分(这将导致用户体验更差)。
【问题讨论】:
-
MS 方面的奇怪设计决定。不知道有什么动机。至于你的设计……如果你确信保存密码对用户来说是一个破坏交易的行为,为什么不提供让用户保持登录呢?还是你也这样做?
-
是的,我认为这将是我唯一的选择,我只是希望确认这种行为,因为我能找到的东西很少。而且,正如你所说,这是一个奇怪的问题。在这种特殊情况下,保存密码并不是一个交易破坏者,只是很难向任何可能会问为什么不可能以及为什么 Microsoft 平台 + Microsoft 浏览器 = 失败的人解释。
-
您是否尝试过将原始 HTML 文本框与提交回 aspx 页面的表单一起使用?
标签: asp.net internet-explorer webforms passwords