C# 处理数据输入的MVC方法

C# 处理数据输入的MVC方法,c#,.net,javascript,asp.net-mvc,C#,.net,Javascript,Asp.net Mvc,我有一个数据输入模块,我在其中添加我的产品及其子信息,如: 产品基本信息 产品价格信息 产品价格详情 价格信息和价格详细信息与产品和列表相关 在我的web表单方法中,我会将我的主要产品对象存储在视图状态,并在执行ajax回发时填充它的定价信息和详细信息。通过这种方式,我可以创建一个紧凑的模块,它非常方便用户从一个地方定义大量数据,而无需从单独的模块输入这些数据。完成后,我将执行一个product.save(),这将把所有数据持久化到db上的相应表中 现在我正在.NETMVC框架上构建类似的应用程

我有一个数据输入模块,我在其中添加我的产品及其子信息,如:

产品基本信息 产品价格信息 产品价格详情

价格信息和价格详细信息与产品和列表相关

在我的web表单方法中,我会将我的主要产品对象存储在视图状态,并在执行ajax回发时填充它的定价信息和详细信息。通过这种方式,我可以创建一个紧凑的模块,它非常方便用户从一个地方定义大量数据,而无需从单独的模块输入这些数据。完成后,我将执行一个product.save(),这将把所有数据持久化到db上的相应表中

现在我正在.NETMVC框架上构建类似的应用程序,并思考在mvc上处理这个问题的好方法

在单击“保存”之前,我不会在客户端存储所有这些内容。每次操作后都保存到数据库,这让我想起了在asp上编写代码的日子


非常感谢您在mvc框架上提供的方法,我相信最好的方法是将数据存储在客户端。它减少了不必要的回发,提高了应用程序的响应能力。如果确实要将其存储在服务器上,可以使用
SessionState

如果您确实想将其存储在ViewState之类的文件中,可以使用以下解决方案:。但是,我建议不要这样做,因为这样会使事情变得更复杂。客户端操作可能是最优雅的方式,而将其存储在SessionState中则是最简单的方式


请记住,您始终可以避开MVC模式,并为特定页面使用简单的Web表单(这将在需要时为您提供ViewState):

将产品列表存储到视图的模型中,每次更改值时,您都可以向控制器发送Ajax帖子,并将更改保存到db中,使用局部视图显示产品列表中的每个项目

您可以尝试集成以方便保存和更新。这样,您就可以使用ORM(对象关系映射)将模型映射到数据库上。开始时需要做更多的工作,但最终将使用简单的命令,如product.Update()和product.Create()

在客户端存储它有什么问题?您意识到在ViewState中存储它实际上是在客户端存储它?在客户端存储似乎成了额外的维护。为了正确处理,我需要创建我的类的JS版本,并在其中填充和存储数据。所以1。我需要复制服务器2上已有的类结构。我需要维护它。请不要误解我的意思,尽管我没有结束客户端方法,但我是开放的,并愿意挑战我对它的看法-我只是不清楚为什么我需要这样做。请参阅上面我的评论。我不清楚为什么这是最好的方式。从用户的角度来看,数据输入模块上的小回发不会造成明显的延迟,但会为应用程序增加高维护层。。