我知道这已被问过好几次,但到目前为止我对答案都不满意。
根问题是浏览器检测“登录表单”以自动填充字段并决定是否应该要求用户保存信息的方式。如果您的表单只有基本登录字段,它可以正常工作。如果同一表单包含许多其他字段,则浏览器不会将其检测为登录表单。
我见过的解决方案是说在您的网页上使用单独的非ASPX表单。在我的例子中,我的所有输入字段都是相当复杂的ASPX控件的子类化版本,主要是为了获取自定义背景图像和处理器/水印文本以及这种性质的项目。因此,尝试创建非ASPX表单需要做更多工作,因为我无法在表单上使用这些控件。我必须用标准HTML复制它们。我能做到这一点,但不愿意。此外,只要我需要进行更改,它就会得到更多维护。
有更好的方法吗?这让我可以使用ASP.NET的所有优点。
我的页面有登录区域和注册区域(名称,电子邮件,DOB等)。这就是浏览器混淆的原因。
我似乎记得当我为移动浏览器编写一个网站时,有一些标记可以用来告诉浏览器“这是一个登录名字段,这是一个密码字段”。如果有类似的东西可用,那将是完美的。
也许我可以用iframe做点什么?就像ASPX页面中的ASPX页面一样?
答案 0 :(得分:0)
尽管代码很复杂,但任何自定义ASP.NET用户控件最终都会将输出呈现为HTML ,并且每个浏览器只会说HTML
您正在寻找的是如何编写ASP.NET代码,从而产生包含简单属性的HTML标记。
<input type="password" autocomplet="off" ...
这样所有浏览器都能识别出包含密码字段的表单。它并不关心你在后面的代码中做了什么。专注于输出。