Asp.net mvc 在保存表单的控制器中跟踪操作id的最佳做法是什么?

Asp.net mvc 在保存表单的控制器中跟踪操作id的最佳做法是什么?,asp.net-mvc,Asp.net Mvc,我不知道该如何回答这个问题,但情况是这样的: 视图是一个数据输入表单,例如 因此,请编辑具有ID的用户: 此ID获取数据以填充ViewModel中的表单值,ViewModel填充表单 我使用jquery/ajax保存表单,表单返回一个Json结果,指示ok/error等 在视图中,我获取ID并在一个隐藏字段中使用它,该字段在页面加载和表单通过ajax保存时通过jquery设置 这似乎有点笨拙,其他人是如何做到这一点的?在我看来,最好的解决方案是创建一个包含所有字段的局部视图,并将其用于添加和编辑

我不知道该如何回答这个问题,但情况是这样的:

视图是一个数据输入表单,例如

因此,请编辑具有ID的用户:

此ID获取数据以填充ViewModel中的表单值,ViewModel填充表单

我使用jquery/ajax保存表单,表单返回一个Json结果,指示ok/error等

在视图中,我获取ID并在一个隐藏字段中使用它,该字段在页面加载和表单通过ajax保存时通过jquery设置


这似乎有点笨拙,其他人是如何做到这一点的?

在我看来,最好的解决方案是创建一个包含所有字段的局部视图,并将其用于添加和编辑视图,这是控制器中的单独操作。创建用户后,可以重定向到操作编辑。如果您必须/喜欢使用ajax,可以使用表单重新加载div(从user/add更改为user/edit/1)。我可能是错的,但我从来没有在controller中看到一个代码或示例包含一个用于添加和编辑的操作。

谢谢,是的,我可以将用户重定向回带有ID的页面,这与我在其他页面上所做的一样,在没有附加请求和数据库命中的情况下保存似乎更好。AddEdit视图基本上获取数据并填充表单,然后Save视图只保存表单并返回Json。理论上可以在任何页面中使用它来保存数据。