使用C#MVC.net和EF启用/禁用对象编辑

时间:2011-10-19 15:03:42

标签: c# asp.net-mvc entity-framework

好的,我有一个MVC.net前端使用EF和SQL服务器进行数据库连接。我创建了一个包含大约100个字段的大对象和一个用于选择和编辑对象的web ui。我使用EF将更改保存回数据库。到目前为止都很好。

我现在需要做的是实现一些逻辑来停止某些对象的编辑并允许其他对象。例如:

对象“01” 每个人都可以进行更改,无需更改,界面已经涵盖了这一点。

对象“02” 当任何用户在Web应用程序中打开该对象时,“锁定”所有更改将禁用所有字段,并且整个内容都是只读的。

对象“03” 对于某些用户是锁定的,但对其他用户是解锁的,因此根据用户角色,他们将获得R / O全部禁用视图或启用编辑任何视图。

我可以直接进入这个并开始一起攻击某些东西,但我只是想知道是否有任何“首选”方式或更简单的方法来实现这一目标? TNX。

1 个答案:

答案 0 :(得分:0)

这样做的首选方法是在您的视图中执行此操作。所以你有类似

的东西
<p>
    @Html.LabelFor(model => model.Option1)
    @Html.TextBoxFor(model => model.Option1)
</p>

<p>
    Option2: @Option2
</p>

<p>
    @Html.LabelFor(model => model.Option3)
    @if(@User.IsInRole("something")) {
        @Html.TextBoxFor(model => model.Option3)
    }
    else {
        @Model.Option3
    }
</p>

Peronally我不会在View中使用@ User.IsInRole(xxx)我会在ViewModel中传递的IsAdmin布尔参数中预先计算出来,但我在这个例子中将其放在那里以简洁。