我有一个名为的视图Manage.cshtml
,在此视图中有两种形式,一种用于更改帐户密码,另一种用于更改用户的手机号码。
并且有一个用于密码的模型和另一个用于手机号码的模型和一个称为管理(ViewModel 模型)的操作方法我创建了一个视图模型并将密码模型和手机号码模型放入其中。问题是两个模型都具有必需的属性。现在,如果用户只想更改他的手机号码,由于密码字段是必需的属性,因此验证不会成功。
分离两个模型并能够在同一视图中使用它们的最佳方法是什么?我不想使用两个单独的视图。
我有一个名为的视图Manage.cshtml
,在此视图中有两种形式,一种用于更改帐户密码,另一种用于更改用户的手机号码。
并且有一个用于密码的模型和另一个用于手机号码的模型和一个称为管理(ViewModel 模型)的操作方法我创建了一个视图模型并将密码模型和手机号码模型放入其中。问题是两个模型都具有必需的属性。现在,如果用户只想更改他的手机号码,由于密码字段是必需的属性,因此验证不会成功。
分离两个模型并能够在同一视图中使用它们的最佳方法是什么?我不想使用两个单独的视图。
您可以调用RenderPartial并为每个表单传递模型并独立启用每个表单的验证
主文件.cshml
@{ Html.RenderPartial("ChangePwd.cshtml", Model.PasswordModel); }
@{ Html.RenderPartial("MobileNo.cshtml", Model.MobileModel); }
ChangePwd.cshtml
@{Html.EnableClientValidation();}
@using (Html.BeginForm("ChangePwd", "Admin", FormMethod.Post))
{
}
正确的方法是创建 2 个单独的视图并使用RenderView或RenderAction将它们合并为单个视图
更改密码.cshtml
ChangeMobileNumber.cshtml
然后创建名为 Manage.cshtml 的视图并参考以上 2 个视图。