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

本文关键字:EF 编辑 对象 net 启用 MVC | 更新日期: 2023-09-27 18:11:47

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

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

对象"01"每个人都可以进行更改,不需要更改,界面已经涵盖了这些

对象"02"当任何用户在web应用程序中打开该对象时,该对象的所有字段都应该被禁用,并且整个对象都是只读的。

对象"03"对于某些用户来说是锁定的,但是对于其他用户来说是解锁的,因此根据用户的角色,他们将获得R/O全部禁用视图或启用edit anything视图。

我可以直接进入这个并开始一起破解一些东西,但我只是想知道是否有任何"首选"的方式或更简单的方式来实现这一点?tnx .

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

最好的方法是在视图中进行。所以你会有像

这样的东西
<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>

我个人不会在视图中有@User.IsInRole(xxx),我会在ViewModel中传递的IsAdmin布尔参数中预先计算,但我把它放在这里是为了简洁。