Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC值未发回控制器_C#_Asp.net Mvc - Fatal编程技术网

C# MVC值未发回控制器

C# MVC值未发回控制器,c#,asp.net-mvc,C#,Asp.net Mvc,这很奇怪,至少我认为是这样。我有一个简单的密码更改表单,它有一个控件,用于获取用户输入的密码。现在,问题是无论用户输入什么,视图都只回发一个空字符串 这是我视图上的控件 @Html.PasswordFor(model => model.Password) 模型属性: [Required] [DataType(DataType.Password)] [StringLength(20, MinimumLength = 10)] [Display(Name = "Password")] pub

这很奇怪,至少我认为是这样。我有一个简单的密码更改表单,它有一个控件,用于获取用户输入的密码。现在,问题是无论用户输入什么,视图都只回发一个空字符串

这是我视图上的控件

@Html.PasswordFor(model => model.Password)
模型属性:

[Required]
[DataType(DataType.Password)]
[StringLength(20, MinimumLength = 10)]
[Display(Name = "Password")]
public string Password { get; set; }
代码: 我所尝试的:

  • 删除IE、firefox和chrome中的缓存
  • 已尝试将“passwordfor”更改为“editorfor”

  • fwiw,它一直工作正常,直到几天前,视图或控制器中的代码没有任何更改

    向密码帮助器添加一个参数,如下所示:

    @Html.PasswordFor(model => model.Password,new{@name="mypassword"})
    
    然后将此参数添加到动作方法中

    public ActionResult Change(User model,string mypassword)
    
    这会有用的!但这不是一个好办法。
    如果你想把它做好,你必须确保你做的模型绑定正确。

    我知道这听起来很愚蠢。但这就是解决问题的方法,以防其他人也面临同样的问题:

    1) 在每篇文章中,我在视图中的password属性中添加了新的{value=Model.CurrentPassword})
    2) 我故意在GET方法中将密码设置为“null”

    能否显示您的视图您在此处显示的代码运行良好。如果您在POST方法中声明
    model.Password
    null
    ,那么这是因为您没有向我们展示代码(缓存与此无关,也与您使用的HtmlHelper无关),下面是一些更多信息。同一视图中还有另一个字段,它接受用户输入以确认密码。它具有相同的验证规则,并且与初始密码字段位于相同的div中。那个人正确地发布了密码!另外,model.password不是空的,它总是一个空字符串。Peter,我不确定是否可以在这里发布整个视图。Stephen,这就是get和post方法的全部内容,我没有隐藏任何代码。我知道这很奇怪,但在来这里之前我用谷歌搜索了一下,搔了搔头。
    new{@name=“mypassword”}
    不会更改输入的
    name
    属性,并且参数
    string mypassword
    在POST方法中总是
    null
    。这会有用的!不,不会的。
    public ActionResult Change(User model,string mypassword)