C# 页面上有大量表单

C# 页面上有大量表单,c#,asp.net-mvc,forms,C#,Asp.net Mvc,Forms,我正在使用ASP.NETMVC创建一个web应用程序,偶然发现了一个我不确定最佳解决方案是什么的情况 我有一个用户页面,在这里我只是将一个用户列表及其角色加载到一个表中。角色是复选框,例如,Manager和Administrator是两个单独的角色,在该行中表示为用户的复选框 最右边的列是一个操作字段,有3个按钮:保存、更改密码和删除 更改密码的工作原理是打开一个对话框并在控制器上点击一个名为ChangePassword的操作,这是一个Post请求,因为表单位于不同的区域,一些值使用JavaSc

我正在使用ASP.NETMVC创建一个web应用程序,偶然发现了一个我不确定最佳解决方案是什么的情况

我有一个用户页面,在这里我只是将一个用户列表及其角色加载到一个表中。角色是复选框,例如,Manager和Administrator是两个单独的角色,在该行中表示为用户的复选框

最右边的列是一个操作字段,有3个按钮:保存、更改密码和删除

更改密码的工作原理是打开一个对话框并在控制器上点击一个名为ChangePassword的操作,这是一个Post请求,因为表单位于不同的区域,一些值使用JavaScript设置为隐藏字段

Delete通过调用名为Delete的操作来工作,Delete是一个Get请求,在视图中,操作参数是使用模型中的值显式设置的。由于这些值不会改变,我可以安全地执行以下操作:

@Url.Action("Delete", new { loginName = Model.Users[i].LoginName, username = Model.Users[i].Username })
但是,保存操作不同,因为保存操作用于更新用户角色,用户可以通过选择不同的复选框来更改用户角色。我最初的计划是将Save操作设置为Get请求,并将值传入,类似于使用Delete时的方式,但我需要使用JavaScript设置某种隐藏字段,以便知道哪些字段被更新

另一种解决方案是让每个表行都有一个表单,并使Save成为Post操作,并将复选框中的值绑定到操作上的模型。我不确定是否建议这样做,因为这可能意味着页面上有50多个表单,具体取决于我有多少用户

我希望能在这个问题上提出一些建议

谢谢

  • ,即不应删除或修改用户

  • 我将使用ASP.Net成员资格提供程序,并在控制器操作中调用其各自的方法


  • 为什么ASP.NEt中的内置成员资格提供程序不是一个选项?