我正在创建一个由开源成员资格库支持的用户帐户管理页面。我的项目是Asp.Net MVC 4应用程序。成员资格库提供了非常精细的API,允许使用单独的调用更新用户详细信息,例如ChangeUsername(),ChangeEmail(),ChangePassword(),AddPasswordResetSecret(),RemovePasswordResetSecret()。
我正在构建的视图在一个页面上向用户显示所有这些详细信息,并且用户可以编辑每个单独的部分,并在完成后单击每个部分的更新按钮。基本上,当您想要更改用户名时,单击用户名部分中的编辑,更改它并单击该区域中的更新按钮。这应该只会影响用户名。对其他区域的更改将相同,您无法一次编辑所有用户详细信息。
我的问题在于实现这一目标的最佳方法。我的控制器将针对每个不同的用户详细信息进行单独的操作。我是否为每个操作添加单独的模型,并且我在页面上使用多个表单,每个表单调用不同的操作,或者部分视图可以为我覆盖这种情况,每个局部视图在控制器中调用不同的操作。我正在考虑的另一件事是我将如何处理验证,每个动作使用单独的模型,每个模型都有自己的有效状态,但是当控制器端的验证中断时,如何重新加载页面只显示一个部分无效并显示错误消息?
所以我的问题是: