Asp.net mvc ASP.NET MVC在不同视图中使用视图模型

Asp.net mvc ASP.NET MVC在不同视图中使用视图模型,asp.net-mvc,Asp.net Mvc,我有两个客户视图,一个用于创建,一个用于编辑。我对两者使用相同的客户视图模型。我想在添加中设置“客户无字段”,但在编辑中不设置 如果我将requiredfield属性放在view model属性上,那么两个视图都会根据需要标记“Customer No”(正如您所期望的那样) 是否有一个内置的解决方案来解决这个问题,或者我必须创建两个独立的视图模型,一个有属性,一个没有属性 谢谢这类似于 我强烈建议您为编辑和创建操作定制2个视图模型。它干净多了。我给您的链接中的最后一个答案提供了一个变通方法,并禁

我有两个客户视图,一个用于创建,一个用于编辑。我对两者使用相同的客户视图模型。我想在添加中设置“客户无字段”,但在编辑中不设置

如果我将requiredfield属性放在view model属性上,那么两个视图都会根据需要标记“Customer No”(正如您所期望的那样)

是否有一个内置的解决方案来解决这个问题,或者我必须创建两个独立的视图模型,一个有属性,一个没有属性

谢谢

这类似于

我强烈建议您为编辑和创建操作定制2个视图模型。它干净多了。我给您的链接中的最后一个答案提供了一个变通方法,并禁用了ModelState上的错误

这类似于


我强烈建议您为编辑和创建操作定制2个视图模型。它干净多了。我给您的链接中的最后一个答案提供了一个变通方法,并禁用了ModelState上的错误

如何在创建而不是编辑时要求客户编号

如果您创建它,它需要数字,当您编辑它时,数字仍然存在

你的意思是他们可以在编辑时删除客户号码吗?或者您的意思是希望客户编号在编辑时不可编辑


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

如何在创建时要求客户编号,而不是编辑

如果您创建它,它需要数字,当您编辑它时,数字仍然存在

你的意思是他们可以在编辑时删除客户号码吗?或者您的意思是希望客户编号在编辑时不可编辑


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

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


如果您选择手动路径,jQuery验证可用于根据输入从客户端进行验证。

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

如果您选择手动路径,jQuery验证可用于基于输入从客户端进行验证