【问题标题】:MVC with View Model - Create an object optionally带有视图模型的 MVC - 可选地创建对象
【发布时间】:2014-05-01 16:49:01
【问题描述】:

我将 MVC 与视图模型一起使用(我为每个视图创建单独的视图模型)。 我有 2 个对象;产品和类别;产品可以有一个类别。 我有单独的视图模型(productCreateVM、CategoryCreateVM)

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

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

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

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

有什么建议可以解决这个问题吗?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您应该考虑将创建类别视图呈现为创建产品视图中的局部视图。

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

      例如:

      @Html.Partial("Category/Create")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-23
        相关资源
        最近更新 更多