2012-04-01 101 views
1

我有2个客户视图,一个用于创建,一个用于编辑。我为两者使用相同的客户视图模型。我想在添加时使'客户无需字段',但不是编辑。ASP.NET MVC在不同视图中使用视图模型

如果我把requiredfield属性上的视图模型属性,则这两种观点标志“客户编号”的要求(如你所期望的)。

有一个内置的解决方案来解决这个问题,还是我将不得不创建2个独立的视图模型,一个带有属性和一个没有。

谢谢

回答

1

这与this question类似。

我会强烈建议您量身打造2个查看模型编辑和创建行动。这是一个更清洁。我给你的链接中的最后一个答案提出了一种解决方法,并禁用了ModelState上的错误。

0

客户号码是如何创建但不能编辑的?

如果你创建它,它需要的数量,当你编辑它,这个数字仍然存在。

您的意思是他们可以在编辑时删除客户编号吗?或者你的意思是你想要客户没有。在编辑时是不可编辑的?

如果是后者,那么您可以根据需要保留客户号码,您只需在编辑视图中显示客户号码(不是在文本框中),并使用隐藏输入来包含号码以便发布。

0

只是一个概念类型的建议。从模型中删除所需的验证属性。在您的控制器中,使参数为可选项,并根据哪个操作(编辑或创建),您将手动添加某种类型的验证。

的jQuery验证可用于基于输入,如果你对手动路由去客户端进行验证。