Asp.net mvc MC2中的数据注释-基类验证问题
我有一个EntityFramework4模型的第一层,其中我有一个产品基类,然后是从该类派生的不同类。对于每种类型的产品都有一个分部类,然后每个分部类都使用一个buddy类进行数据注释Asp.net mvc MC2中的数据注释-基类验证问题,asp.net-mvc,entity-framework-4,data-annotations,Asp.net Mvc,Entity Framework 4,Data Annotations,我有一个EntityFramework4模型的第一层,其中我有一个产品基类,然后是从该类派生的不同类。对于每种类型的产品都有一个分部类,然后每个分部类都使用一个buddy类进行数据注释 [MetadataType(typeof(Product_Validation))] public partial class Product : EntityObject { private List<RuleViolation> ruleViolations = new List<R
[MetadataType(typeof(Product_Validation))]
public partial class Product : EntityObject
{
private List<RuleViolation> ruleViolations = new List<RuleViolation>();
}
我遇到的问题是,在我的ASP.NET MVC2应用程序中,没有在服务器端进行基类验证(针对产品)。我还没有试过客户端
从Product派生的类(如CD)确实具有验证功能。我知道buddy类的连接适用于基本产品类,因为我使用的显示名称正在被使用。当我为模型进行绑定时,我使用的是派生类(CD)
有什么想法吗
我看着这个,但它似乎并没有让我走
谢谢 您是模型绑定基类还是派生类 如果我没记错几个月前的一些实验,那么您需要将绑定作为一个产品。在操作方法或UpdateModel调用中不能使用CD
您可能需要执行两组模型绑定才能正常工作。一次用于产品验证,另一次用于CD 如果这是真的,我会把它作为另一个问题和可能的功能请求的一个很好的候选者。如果我同时需要基本产品和派生CD,那么视图如何工作?我有一个强类型视图,它继承了包含派生类(CD)的viewmodel。Thanks@John我不知道你在问什么。如果您有一个带有CD型号的视图,那么您也有一个带有产品型号的视图。@NickLarsen抱歉。。。对MVC来说有点新鲜。我有一个视图模型,它有一个派生类(CD)、分页和一个过滤器。这是我的视图继承的模型。当表单发回到我的操作时,这就是我验证的视图模型。我是否需要将派生类(CD)强制转换为基类(产品)以根据基类模型进行验证?如果我听到了行话,请道歉incorrect@JohnPtacek铸造无法解决您的问题。ModelBinder在内部调用GetType(),它总是返回最具体的类型。
public class Product_Validation
{
[DisplayName("Model Name")]
public string ModelName { get; set; }
[Required(ErrorMessage = "A description is required")]
[StringLength(2, ErrorMessage = "must be 2 or more")]
public string Description { get; set; }
}