从部分视图调用视图模型方法 ASP.NET MVC C#

本文关键字:视图 NET ASP MVC 方法 模型 调用 | 更新日期: 2023-09-27 18:34:05

如果我有这样一种视图模型:

public class ChangePasswordVM : IChangePasswordVM
{
    public bool IsValidPassword(string password)
    {
        return password.Length >= 7;
    }
    public void SetPassword(string password)
    {
        // set password
    }
}

那么是否可以从部分视图调用 IsValidPassword 和 SetPassword 方法?

@model ViewModels.IChangePasswordVM

假设我有一个@Html.BeginForm,在提交时我检查它是否是一个有效的密码,如果是,我调用SetPassword方法。

从部分视图调用视图模型方法 ASP.NET MVC C#

我认为此示例中您所需要的只是在密码属性上设置特定属性。就这样。在您的示例中,我认为您可以在密码属性上使用以下属性:

[MinLength(7, ErrorMessage="Password must have at least 7 characters")]
public string Password {get;set;}

ViewModel 应该只是您要绑定的数据,而不是逻辑。因此,密码应该是视图模型的属性。