@ Html.PasswordFor不要粘贴密码

时间:2012-02-19 21:48:53

标签: c# asp.net-mvc-3

我在MVC3的登录面板中使用此代码:

@Html.PasswordFor( m => m.Password, new { maxlength = 10 } )

我想这样做,有人不能将任何密码粘贴到PasswordFor

(仅在输入时输入密码)

我该怎么办?

3 个答案:

答案 0 :(得分:7)

您可能不应该这样做,因为它完全从用户的角度来看很糟糕,但如果您希望您的用户讨厌您,您可以这样做:

$('#Password').bind('paste', function(e) {
    e.preventDefault();
});​

答案 1 :(得分:1)

类似的东西:

var pw = document.getElementById("Password");
pw.addEventListener("paste", function(event)
{
   event.preventDefault();
}

...等同的事件监听和IE等的默认预防。

jQuery的:

$("#Password").bind("paste", function(event) 
{
   event.preventDefault(); 
});

两者都不适用于Opera。

但是,你不应该在任何情况下这样做。我个人“粘贴”密码的方式比篡改浏览器的默认用户体验更安全。你搞乱了我的方法,这可能会让我选择一个专门为你的网站设置的安全性较低的密码。或者不使用它。

答案 2 :(得分:0)

你可以这样使用

$(document).ready(function(){
  $('#Password').live("paste",function(e) {
      e.preventDefault();
  });
});