带视图模型的MVC - 可选择创建对象

时间:2014-04-30 16:14:59

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-viewmodel

我在视图模型中使用MVC(我为每个视图创建单独的视图模型)。 我有2个物体;产品和类别;产品可以有一个类别。 我有单独的视图模型(productCreateVM,CategoryCreateVM)

我可以创建产品或类别;用户可以在创建新产品时选择当前类别之一,没问题。

我需要做的是;在创建新产品时,用户可以选择当前类别之一或创建新类别而不是选择它。

如果我在ProductCreateVM中添加CategoryCreateVM,则需要填写CategoryCreateVM的必填字段,以使模型状态有效。  但是,如果用户已经为他们的产品找到了一个类别而没有创建一个新类别;我无法填写CategoryCreateVM的所有必填字段。

另一方面;如果用户从产品创建视图创建新类别;然后应该应用所有验证(类别名称长度等)。

有任何建议如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

如果您想使用更复杂的验证,请参阅http://foolproof.codeplex.com/是否足够。

它应该为您提供所需的条件验证

答案 1 :(得分:0)

您应该考虑在“创建产品视图”中将“创建类别视图”渲染为部分视图。

可以通过例如切换其可见性在“类别”下拉菜单中选择“创建类别”。

例如:

@Html.Partial("Category/Create")