use*_*694 2 passwords asp.net-mvc
我正在使用MVC应用程序.在我们的应用程序 我们有一个表单,用于获取用户的详细信息(客户端详细信息).示例,温和,名字,姓氏,密码等.提交后,在控制器本身,我们验证输入的MailID是否已经注册.如果已经注册了,请返回相同的视图并显示错误消息.但所有细节都显示在文本框中,但密码文本框变为空.我想要密码文本框,其值已经输入.
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; }
Run Code Online (Sandbox Code Playgroud)
这是由设计Html.Password和Html.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);
}
Run Code Online (Sandbox Code Playgroud)
object obj2 = null;在那边看到这个?
如果要更改此行为,可以使用TextBoxFor帮助程序生成密码字段:
@Html.TextBoxFor(x => x.Password, new { type = "password" })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1607 次 |
| 最近记录: |