如果我想使用内置验证(if (!ModelState.IsValid)
),如何处理此类错误?
我想到编写自定义数据绑定器,它将用数据库中的值填充所有这些id-only-objects。
你有没有解决这个问题的其他方法?
答案 0 :(得分:1)
您需要传回已修改的产品和类别ID。然后在您的控制器/存储库中从传递的类别ID中获取类别,并将类别设置为产品类别。
当从db(或任何地方)返回类别时,应该推荐所有属性,这样你就不应该得到“需要类别名称”
我的意思的一个简单例子:
[HTTPost]
public ActionResult Save(Product product, int? categoryId)
{
Category category = GetCategory(categoryID);
product.Category = category;
if (ModelState.IsValid)
{
// Save etc.
}
}