两种形式,一页。查看型号,型号或其他?

时间:2011-05-20 16:16:46

标签: c# model-view-controller model viewmodel

我有一个处理上传图像的组件,它以自己的形式工作正常它是一个绑定到视图模型的视图,映射到控制器中的主模型,同样我有一个绑定的标准视图到一个简单的视图模型,然后映射到主模型并保存。

因此,这两种方法都可以作为单独的页面使用,但是,我很想在同一页面中将它们呈现给用户 - 而且我完全被卡住了。

我有两个不同的视图模型需要这个页面,只是不知道如何前进,以及如何组合它们。

我尝试创建一个新的Viewmodel,它基本上包含另外两个View Models,但是当提交任何一个表单时,ModelState.IsValid总是返回false,因为其他字段中的某些必需数据不存在。< / p>

通过摆脱ModelState.IsValid,应用程序运行正常,但作为MVC新手,我对此感到有点不安,只是想知道是否有人可以帮助我?

(如果这确实需要一个带有ViewModel的新ViewModel用于每个表单,如果你可以告诉我一个好的命名约定,那么奖励点就像我试过的那些看起来非常混乱!)

1 个答案:

答案 0 :(得分:4)

您可以尝试使用部分视图。

<div>
    @Html.Partial("FormA")
</div>
<div>
    @Html.Partial("FormB")
</div>

然后在FormA.cshtml中,您将拥有:

@model Namespace.FormAViewModel
<form> </form>

然后类似于FormB