2

根据用户凭据,我将允许用户在 Razor 视图上编辑或不编辑字段。

所以我目前有一个模型,我可以为我禁止的属性执行此操作:

[Editable(allowEdit=false)]
public string FirstName {get;set;}

但是当我添加属性时,无论用户是否有权编辑它,他们都无法这样做。我也无法更改 Razor View 中的字段,因为我们使用了一种非常不同的渲染模型属性的方式。

知道如何克服这个问题吗?

4

1 回答 1

0

您可能想要创建自定义验证属性并使用它,您可以在其中注入您的布尔值并检查并使其成为有条件的(在 C# 中)。

更好的选择是使用 Fluent Validation - 在这些情况下,当您需要条件验证时,它更容易使用。它还可以使您的模型保持清洁。

因此,如果您可以使用Fluent 验证,则只需定义您自己的属性并在您的代码中控制它,包括所有条件。示例和库链接在这里

这是您的另一个选择 - 旨在简化您尝试实现的工作的完整库:http: //foolproof.codeplex.com/

希望这可以帮助

于 2013-03-08T19:01:10.440 回答