问题如下:
public class Product
{
[Key]
public int Id { get; set; }
[DisplayName("商品类别")]
[Required]
public virtual ProductCategory productCategory { get; set; }
[DisplayName("商品名称")]
[Required(ErrorMessage="请输入商品名称")]
[MaxLength(60,ErrorMessage="商品名称不可超过60个字")]
public string Name { get; set; }
[DisplayName("商品简介")]
[Required(ErrorMessage = "请输入商品简介")]
[MaxLength(250, ErrorMessage = "商品名称不可超过250个字")]
public string Description { get; set; }
[DisplayName("商品颜色")]
[Required(ErrorMessage = "请输入商品颜色")]
public string Color { get; set; }
[DisplayName("商品价格")]
[Required(ErrorMessage = "请输入商品价格")]
[Range(99,10000, ErrorMessage = "商品价格必须介于99-10000之间")]
public int Price { get; set; }
[DisplayName("上架时间")]
[Description("如果不设置上架时间,代表此商品永不上架")]
public DateTime PublishOn { get; set; }
[DisplayName("商品地址")]
public string Url { get; set; }
}
public class ProductCategory
{
[Key]
public int Id
{
get;
set;
}
[DisplayName("商品类别")]
[Required(ErrorMessage="请输入商品类别名称")]
[MaxLength(20,ErrorMessage="类别名称不可超过20个字")]
public string Name
{
get;
set;
}
public virtual ICollection<Product> Products { get; set; }
这是我做的电子商城的其中两个model,目前在view添加商品的时候,需要给商品表的商品类别(product表中的外键)赋值,但是因为在product对象中productCategory属性是一个ProductCategory对象,而因此ModelState验证时productCategory属性是null,ModelState.isVaild是false,求问如何解决...
再定义一个类作为ViewModel,不要把实体类直接当作ViewModel