c# - 在视图中创建一个属性

时间:2014-09-24 10:47:39

标签: c# asp.net validation required

我有一个带有一些属性的模型,模型中不需要它们([必需]),因为它们在某些不需要的形式中使用。 问题是,现在我必须使用这个模型做一个表格,其中必须要有一个属性。 ¿有没有办法在不更改模型类的情况下使这个属性成为必需?

如果没有js也更好,但如果没有别的办法...... = P

提前致谢!

2 个答案:

答案 0 :(得分:2)

没有测试过,但在我看来它可以工作。

您可以创建包含所需字段的基本模型。在派生的模型类中,您派生了您想要的特定属性,并在那里设置属性。

答案 1 :(得分:1)

Patrick解决方案的替代方法是使用MetadataType属性。

基本上,您创建一个派生自原始类的类,以及一个单独的类来指定所有属性。

这是一个例子:

public class User {
    public string Email { get; set; }
}

[MetadataType(typeof(InsertUserModelMetadata))]
public class InsertUserModel : User {
}


internal class InsertUserModelMetadata {
    [Required]
    public string Email { get; set; }
}