2013-02-19 65 views
1

我写了一个小MVC3网站,让某些用户查看Active Directory帐户。 对于审计,我们需要跟踪我们的“用户评论”。所以,一个月一次,我把所有东西放在一个SQL数据库中。国家'被检查'。多编辑MVC3

这看起来是这样的: enter image description here

我想有一种方式,人们可以快速只检查一个文本框,并将其保存审批。

enter image description here

我怎么会去吗? 'ReviewState'是一个单独的对象(StateID,StateText,Description,Active)。 可能性是:未选中,已批准,已拒绝,已批准,...

+0

如果您ReviewState是一个布尔值,你可以只使用一个复选框。并将完整列表发回并逐一保存/更新 – 2013-02-19 09:48:56

+0

'ReviewState'是一个单独的对象(StateID,StateText,Description,Active)。 – 2013-02-19 09:50:43

+0

好吧,但会有一个属性,会说它被批准或不正确?如果是这样,只需将您的复选框绑定到该属性 – 2013-02-19 10:03:22

回答

1

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

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

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

+0

这看起来像是最好的方法。有没有一种方法可以循环回发所有部分视图? – 2013-02-19 11:41:11

+1

您的父视图应该有一个父模型,其中包含List ReviewStates。发布时,您的控制器操作会收到父视图模型。然后,您可以遍历每个审阅状态。实际上,我会将父模型分解为包含不同的子模型,其中一个用于页面上的每种类型的部分(要验证的帐户,要验证的从属帐户) – 2013-02-19 12:05:51

0

创建一个视图模型在您的视图中使用:


public class AccountViewModel 
{ 
    public AccountInfo Account { get; set; } 
    public ReviewState Review { get; set; } 
} 

这样你就可以添加一个复选框Approve这样的:

@Html.CheckboxFor(x => x.Active); 

你会得到这个模型回到你的岗位行动。唯一剩下的就是提取数据和更新数据库。

我可能不准确,这里属性名称和代码是从我的头写,但我想你明白了吧