Преобразуйте обычный текст в пароль в MVC без использования type = "password" - PullRequest
0 голосов
/ 24 марта 2020

следующий код -

@Html.EditorFor(model => model.ConfirmPassword, new { htmlAttributes = new { @class = "form-control input-sm", @autocomplete = "off", @style = "color: black; text - shadow: none;", @onfocus = "this.style.color='black'; this.style.textShadow='none';", @onkeypress = "this.style.color='transparent'; this.style.textShadow='1px 1px 4px #000';",@PasswordChar="*"} })

, а моя модель - [DataType (DataType.Password)] * ​​1004 *

public string Password { get; set; }

1 Ответ

0 голосов
/ 25 марта 2020

Я точно не знаю, каково ваше положение. Кстати, вы должны создать поддельный элемент ввода (с маской id) и сделать основной элемент скрытым (с паролем id), как показано ниже:

@using (Html.BeginForm("SaveUser", "Home", FormMethod.Post))
{
    @Html.EditorFor(model => model.Username)
    <input id="mask" value="" onkeypress="setpasschar()" type="password"/>
    @Html.EditorFor(model => model.Password, new {@type="hidden"})
    <input type="submit" value="Submit" />
}

Затем напишите setpasschar(), чтобы назначить значение от mask до password:

<script>
    function setpasschar()
    {
        document.getElementById("Password").value = document.getElementById("mask").value;
    }
</script>

Теперь вы можете использовать магию c с элементом пароля.

Модель моего вида:

public class UserViewModel
{
    public string Username { get; set; }
    public string Password { get; set; }
}

Мое действие:

public ActionResult SaveUser(UserViewModel user)
{
    return View();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...