C# 多编辑MVC3

C# 多编辑MVC3,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,我写了一个小MVC3站点,让某些用户可以查看Active Directory帐户。 对于审计,我们需要跟踪“用户审查”。因此,我每个月都会将所有内容放入一个SQL数据库。状态为“待检查” 这看起来像这样: 我想有一种方法,人们可以通过选中一个文本框并保存来快速批准它们 我该怎么办 “ReviewState”是一个单独的对象(StateID、StateText、Description、Active)。 可能的情况有:未选中、已批准、已拒绝、已静默批准,…创建ReviewState模型和包含St

我写了一个小MVC3站点,让某些用户可以查看Active Directory帐户。 对于审计,我们需要跟踪“用户审查”。因此,我每个月都会将所有内容放入一个SQL数据库。状态为“待检查”

这看起来像这样:

我想有一种方法,人们可以通过选中一个文本框并保存来快速批准它们

我该怎么办


“ReviewState”是一个单独的对象(StateID、StateText、Description、Active)。
可能的情况有:未选中、已批准、已拒绝、已静默批准,…

创建ReviewState模型和包含StateId、StateText、Description等的强类型局部视图)

父模型应包含ReviewStateModel的列表。在主视图中,循环浏览该视图,并为列表中的每个模型渲染部分


您可能需要添加一个Id,以便能够识别服务器端的每个审阅模型。

为其创建一个ReviewState模型和一个包含StateId、StateText、Description等的强类型局部视图)

父模型应包含ReviewStateModel的列表。在主视图中,循环浏览该视图,并为列表中的每个模型渲染部分


您可能需要添加一个Id,以便在服务器端识别每个审阅模型。

创建一个要在视图中使用的ViewModel:


public class AccountViewModel
{
    public AccountInfo Account { get; set; }
    public ReviewState Review { get; set; }
}
通过这种方式,您可以像下面这样为
Approve
添加复选框:

@Html.CheckboxFor(x => x.Active);
您将把此模型返回到您的后期操作。剩下的就是提取数据和更新数据库


这里的属性名称可能不准确,代码是从我的头脑中编写的,但我想你明白了这一点,创建一个视图模型以在视图中使用:


public class AccountViewModel
{
    public AccountInfo Account { get; set; }
    public ReviewState Review { get; set; }
}
通过这种方式,您可以像下面这样为
Approve
添加复选框:

@Html.CheckboxFor(x => x.Active);
您将把此模型返回到您的后期操作。剩下的就是提取数据和更新数据库


这里的属性名称可能不准确,代码是从我的头脑中编写的,但我想你明白了这一点

如果你的ReviewState是一个Bool,你可以只使用一个复选框。然后将完整列表发回并逐个保存/更新“ReviewState”是一个单独的对象(StateID、StateText、Description、Active)。好的,但会有一个属性显示它是否已批准?如果是这样,只需将您的复选框绑定到该属性。如果您的ReviewState是Bool,则只需使用复选框即可。然后将完整列表发回并逐个保存/更新“ReviewState”是一个单独的对象(StateID、StateText、Description、Active)。好的,但会有一个属性显示它是否已批准?如果是这样的话,只需将复选框绑定到该属性,这看起来是最好的方法。是否有一种方法可以在回发时遍历所有局部视图?父视图应该有一个父模型,其中包含列表Reviews状态。发布时,控制器操作将接收父视图模型。然后,您可以循环查看每个审阅状态。实际上,我会将父模型分解为包含不同的子模型,页面上每种类型的部分都有一个子模型(要验证的帐户,要验证的下级帐户),这看起来是最好的方法。是否有一种方法可以在回发时遍历所有局部视图?父视图应该有一个父模型,其中包含列表Reviews状态。发布时,控制器操作将接收父视图模型。然后,您可以循环查看每个审阅状态。实际上,我会将父模型分解为包含不同的子模型,每个子模型对应于页面上的每种类型的部分(要验证的帐户,要验证的下级帐户)