当 Textbox.TextMode="Password" 时,我在 ASP.net 中的 CustomValidator 为空。我调用服务器方法并尝试获取 value.Value。
当我将 TextMode 更改为 SingleLine 或 MultiLine 时,一切正常。当我将其设置为密码时,该值为空。
但是对我来说,没有 textmode=password 就没有办法做到这一点,那该怎么办呢?
当 Textbox.TextMode="Password" 时,我在 ASP.net 中的 CustomValidator 为空。我调用服务器方法并尝试获取 value.Value。
当我将 TextMode 更改为 SingleLine 或 MultiLine 时,一切正常。当我将其设置为密码时,该值为空。
但是对我来说,没有 textmode=password 就没有办法做到这一点,那该怎么办呢?
而不是从 args.Value 获取值,而是直接从文本框中获取它,例如:
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
string pwd = txtPwd.Text;
if (pwd == "something")
{
args.IsValid = false;
}
else
{
args.IsValid = true;
}
}
我相信这是出于安全目的的标准行为。