C# 如何防止在ASP:Textbox中自动填充以前的数据?

C# 如何防止在ASP:Textbox中自动填充以前的数据?,c#,asp.net,caching,dotnetnuke-module,dotnetnuke-7,C#,Asp.net,Caching,Dotnetnuke Module,Dotnetnuke 7,我有两个简单的控件。当我的页面加载时,它会自动填充 我得到了以下参考,建议设置Autocomplete=Off 但它不起作用。你可以看到上面的截图。这是一个电子邮件字段,当页面加载时,它会自动通过缓存的引用填充。这将是头痛 有谁能告诉我如何预防这种情况吗 请注意,我不想澄清历史。我只是想,这不应该被填满时,我的页面加载 我不确定,但这可以通过浏览器完成。在IE11中,有以下设置: 删除自动完成历史记录并禁用自动完成功能可能会有所帮助 祝你快乐! Michael我不确定,但这可以通过浏览器

我有两个简单的控件。当我的页面加载时,它会自动填充

我得到了以下参考,建议设置
Autocomplete=Off

但它不起作用。你可以看到上面的截图。这是一个电子邮件字段,当页面加载时,它会自动通过缓存的引用填充。这将是头痛

有谁能告诉我如何预防这种情况吗


请注意,我不想澄清历史。我只是想,这不应该被填满时,我的页面加载

我不确定,但这可以通过浏览器完成。在IE11中,有以下设置:

删除自动完成历史记录并禁用自动完成功能可能会有所帮助

祝你快乐!
Michael

我不确定,但这可以通过浏览器完成。在IE11中,有以下设置:

删除自动完成历史记录并禁用自动完成功能可能会有所帮助

祝你快乐!
Michael

您无法通过编程禁用自动填充。这是浏览器的行为,每个浏览器的行为不同。 你可以,但这取决于客户

根据,您可以在实际文本框之前添加隐藏的虚拟文本框,以摆脱自动完成

<input style="display:none" type="text" name="fakeusername"/>
<input style="display:none" type="password" name="fakepassword"/>

无法通过编程禁用自动填充。这是浏览器的行为,每个浏览器的行为不同。 你可以,但这取决于客户

根据,您可以在实际文本框之前添加隐藏的虚拟文本框,以摆脱自动完成

<input style="display:none" type="text" name="fakeusername"/>
<input style="display:none" type="password" name="fakepassword"/>




添加
autocomplete=“新密码”
将解决您的问题。我试过
autocomplete=“off”
autocomplete=“false”
这两种方法都不适用于我。这非常有效,添加
autocomplete=“new password”
将解决您的问题。我试过
autocomplete=“off”
autocomplete=“false”
这两种方法都不适用于我。这很好用
autocomplete=“new password”

你试过了吗
@CarbineCoder我试过了。它隐藏了我的控制。我认为
style=“display:none”
应用了隐藏控件的样式。@Nanji Mange您是否尝试添加
autocomplete=“new password”
?@AfnanAhmad还没有。让我也来试试。@AfnanAhmad Yeahahh!看起来很完美。你试过没有试过我试过的卡宾语码器。它隐藏了我的控制。我认为
style=“display:none”
应用了隐藏控件的样式。@Nanji Mange您是否尝试添加
autocomplete=“new password”
?@AfnanAhmad还没有。让我也来试试。@AfnanAhmad Yeahahh!它看起来很完美。谢谢,但我不想为每个浏览器手动设置用户。我想以编程方式设置。好的,我明白了。从理论上讲,这个属性(autocomplete=“off”)应该可以做到这一点,但很显然,你并不幸运。您是否尝试过关闭整个表单的功能,例如:另一件事似乎是某些浏览器不关心此设置。我发现这个线程:这也提供了一个修复。关于我在这里的第一个评论:当你在DNN上时,你必须在代码隐藏中插入属性。谢谢,但我不希望为每个浏览器手动设置用户。我想以编程方式设置。好的,我明白了。从理论上讲,这个属性(autocomplete=“off”)应该可以做到这一点,但很显然,你并不幸运。您是否尝试过关闭整个表单的功能,例如:另一件事似乎是某些浏览器不关心此设置。我发现这个线程:这也提供了一个修复。关于我在这里的第一个评论:当你在DNN上时,你必须在代码隐藏中插入属性。谢谢。在我的例子中,字段不是预先确定的。这取决于用户。用户可以从给定的字段列表中自由设置表单上的字段。我可以在这些字段之前动态添加假字段。但问题是我如何确定该字段将自动填充。i、 e字段名可以是
电子邮件或用户名或email1
。请引导我。这就是全部问题,你无法识别它们。:(我被这个问题困住了。嗨,我由此得到了解决方案。如果密码字段已经在设计中,那么像这样设置,如果它是动态的,
TextBox textControl=new TextBox();textControl.Attributes.Add(“自动完成”,“新密码”);textControl.Attributes.Add(“自动完成”,“新密码”);textControl.Attributes.Add(“占位符”、“*****”);
谢谢。在我的情况下,字段不是预先指定的。这取决于用户。用户可以从给定的字段列表中自由设置表单上的字段。我可以在这些字段之前动态添加假字段。但问题是我如何识别此字段将自动填充。即字段名可以是
电子邮件或用户名或电子邮件1
。请使用guide me.这就是全部问题,你无法识别它们。:(我被这个问题困住了。嗨,我由此得到了解决方案。如果密码字段已经在设计中,那么设置如下
如果它是动态的,
TextBox textControl=new TextBox();textControl.Attributes.Add(“自动完成”,“新密码”);textControl.Attributes.Add(“占位符”、“****”;
是的,但这个案例仍然会产生问题。我不知道是不是因为“新密码”“或者别的什么。当我编辑记录时,它从数据库中获取密码值并设置为
txt\u password.Text=value
。此时,它将密码保留为空并显示占位符。您能检查一下吗?占位符的标记是什么?您能显示@nanjimange这不是因为这个新密码吗?”这是因为您的占位符标记。如果您使用jQuery,则需要类似这样的东西。keypress(function(){$('.'占位符').html(“'))@nanjimangeth不幸的是,这不适用于FireFox。仅适用于Chrome。@vdwd&Afnan Ahmad,完成了。我设置了这个
txt\u密码。属性[“type”]=“password”
而不是
txt\u密码。TextMode=TextBoxMode.Passwor