为一个视图使用不同的模型进行GET和POST

时间:2015-07-22 17:17:12

标签: asp.net-mvc-4

我已经看到了多个答案,所以我真的很困惑。

使用一个视图,您可以使用一个模型进行GET操作,使用不同的模型进行POST吗?举个例子,这就是我所拥有的 - 这里是我所拥有的ViewModel的一个例子:

public class ModelAViewModel {
    public ModelB modB { get; set; }
    public ModelC modC { get; set; }
}

我目前使用ModelAViewModel进行GET以显示来自ModelB和ModelC的数据。我想知道我是否也可以只对ModelB进行POST,然后在POST函数中创建一个ModelC的新对象。

可能是糟糕的编码标准,但是对功能的新要求出现在显示ModelC的数据中,我想知道如果没有重构,这是否可行。

1 个答案:

答案 0 :(得分:0)

总的来说,总是只是为了它。如果它没有工作,那么你可以寻求建议,但试试看看会发生什么。

既然你已经在这里了,我可以告诉你这很好。如果您没有为modC发布任何内容,则在POST时它将为空。此外,模型验证器不会验证空实例属性,因此您仍然可以在ModelC上拥有必需的属性等,只要您不发布任何与之相关的内容,就赢得了#39; t得到错误。