我是MVC的新手,我遇到了一些问题。我正在开展一个项目,我有几个表 - 公司和用户。每个公司可以拥有多个用户。我创建了一个注册视图,它有效地将两个字段合并到一个视图中。我还有一个用于编辑用户的单独视图,另一个用于在现有公司内创建用户。使用局部视图对我来说很有意义所以我只需要在一个地方更新UI。但是,我遇到了一些问题。当我在创建/编辑中使用局部时,它工作正常,因为我只是将其用作
@Html.Partial("UserDetails",Model)
但是,当我在Register中使用它时,我会尝试
@Html.Partial("UserDetails",Model.AutoFirstUser)
AutoFirstUser是我创建的一个属性,如果不存在则自动创建用户,否则它只返回公司中的第一个用户。这似乎是将数据合并到单个View中的最简单方法。现在考虑一下,我意识到我可以使用User作为模型并将User.Firm用于其他字段,但这只会将问题转移到FirmDetails部分视图。
无论如何,我发现的问题是虽然用户的字段是可见的并且可以正确验证,但是当我发回表单时,他们却没有找到回到模型的方式,大概是因为模型是有效的不同的“名称空间”,因为部分视图要求主模型是用户,而注册视图期望它是公司。
答案 0 :(得分:0)
看来Partials不是我想要的 - 我用编辑器模板解决了这个问题