gpt4 book ai didi

asp.net-mvc - 在 MVC 中提交后保留密码文本框值

转载 作者:行者123 更新时间:2023-12-04 00:44:06 25 4
gpt4 key购买 nike

我在 MVC 应用程序中工作。在我们的应用程序中。我们有一个获取用户详细信息(客户端详细信息)的表单。例如,温和、名字、姓氏、密码等。提交后,在 Controller 本身中,我们验证输入的 MailID 是否已经注册。如果已经注册意味着,返回带有错误消息的相同 View 。但是所有详细信息都显示在文本框中,但密码文本框变为空。我想要密码文本框,其值已输入。

public string Email { get; set; }

[Required(ErrorMessage = "FirstName is required")]
public string FirstName { get; set; }

public string LastName { get; set; }

[Required(ErrorMessage = "Password is required")]
[DataType(DataType.Password)]
[StringLength(40, MinimumLength = 6,
ErrorMessage = "Password must be between 6 and 12 characters.")]
public string Password { get; set; }

最佳答案

这是 Html.PasswordHtml.PasswordFor 帮助程序的设计,不幸的是,它无法更改,因为它已硬编码在帮助程序本身中:

public static MvcHtmlString PasswordFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, IDictionary<string, object> htmlAttributes)
{
if (expression == null)
{
throw new ArgumentNullException("expression");
}
object obj2 = null;
IDictionary<string, object> dictionary = htmlAttributes;
return PasswordHelper(htmlHelper, ModelMetadata.FromLambdaExpression<TModel, TProperty>(expression, htmlHelper.ViewData), ExpressionHelper.GetExpressionText(expression), obj2, dictionary);
}

看到那边的object obj2 = null;了吗?

如果你想改变这个行为,你可以使用 TextBoxFor 助手来生成你的密码字段:

@Html.TextBoxFor(x => x.Password, new { type = "password" })

关于asp.net-mvc - 在 MVC 中提交后保留密码文本框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21794016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com