清除ASP.NET中的文本框历史记录

时间:2013-10-02 13:56:34

标签: c# html asp.net

如何清除文本框的历史记录?我已设置autocomplet = off并将AutoCompleteType设置为Disabled。当我双击Chrome / Firefox中的文本框时会显示历史/文本,因此当我单击它时,文本将插入文本框中。有没有办法通过ASP.NET / HTML来阻止这种行为?

7 个答案:

答案 0 :(得分:2)

您可以通过将自动填充属性值设置为关闭来关闭特定TextBox的自动填充,如下所示:

<asp:TextBox Runat="server" ID="TextBox1" autocomplete="off"></asp:TextBox> 

您可以在我的页面(代码隐藏)中的Page_Prerender事件中编写文本框属性。

protected void Page_PreRender(Object sender,EventArgs e) {

 TextBox1.Attributes.Add(“autocomplete”, “off”)

}

它应该修复它。

答案 1 :(得分:2)

您必须在表单上尝试此行

struct User {
    var username : String
    var firstName: String
    var lastName: String
    var userCode : String
    var address: String
    var phoneNumber: String
    var dateOfBirth: String
    var outlet : Outlet // custom object

    init (dictionary: [String:Any]) {
        username = dictionary["user_name"] as? String ?? ""
        firstName = dictionary["customers_firstname"] as? String ?? ""
        lastName = dictionary["customers_lastname"] as? String ?? ""
        userCode = dictionary["kode_customer"] as? String ?? ""
        address = dictionary["alamat_user"] as? String ?? ""
        phoneNumber = dictionary["customers_telephone"] as? String ?? ""
        dateOfBirth = dictionary["customers_dob"] as? String ?? ""
        outlet = Outlet(dictionary: dictionary)
    }



}

答案 2 :(得分:1)

如果关闭自动完成时不起作用,请在每次将页面加载到浏览器时尝试change the textbox/input name (not the Id) to a random value

您可以在窗口加载时使用javascript执行此操作,如下所示:

window.onload = function () {
    document.getElementById("yourTextboxId").name = "txt"+ Math.random();
}

答案 3 :(得分:0)

我会尝试这样的事情

<asp:TextBox ID="TextBox1" AutoCompleteType="Disabled" runat="server"></asp:TextBox>

还有一个TextMode =&#34;密码&#34;如果它的机密记录也不能保存自动完成,我想。

答案 4 :(得分:0)

强文输入表单元素中测试 autocomplete =“off”后,无法阅读{ {3}}引导我进入一个关于浏览器如何处理自动完成的新现实,所以我测试了建议,看起来这个工作:设置自动完成=“新密码”,如建议:

  

如果要定义用户可以指定的用户管理页面   另一个人的新密码,因此您想要阻止   自动填写密码字段,即可使用   的自动填充= “新密码”;但是,Firefox上尚未实现对此值的支持。

虽然我将非密码输入元素设置为“new-value”,但这也可能适用于文章中的其他建议:

  

在某些情况下,浏览器会继续建议自动完成   即使autocomplete属性设置为off,也会显示值。这个   对于开发人员而言,意外行为可能会令人费解。诀窍   真正强制执行非自动完成是为了分配无效值   属性,例如:

     

autocomplete =“nope”由于此值不是有效值   自动完成属性,浏览器无法匹配它,并停止   试图自动完成该字段。

希望这个帮助对各种场景都有用。

答案 5 :(得分:0)

<%: Html.TextBoxFor(model => model.WEIGHT, new { autocomplete = "off" })%>

答案 6 :(得分:-1)

正如另一个回答者所说,禁用文本框的AutoCompleteType属性。

隐藏复制代码

<asp:TextBox ID="TextBox1" runat="server" AutoCompleteType="Disabled"></asp:TextBox>

但这在Mozilla Firefox中不起作用。最好的选择是在文本框中编写JavaScript onFocus以禁用自动完成行为。

隐藏复制代码

Javascript:
Hide   Copy Code
function disableautocompletion(id){ 
    var passwordControl = document.getElementById(id);
    passwordControl.setAttribute("autocomplete", "off");
}

希望这有帮助!