经过简短的研究,我在SO线程中发现,在ASP.NET MVC中有三种最常用的存储信息的方式:
第一种方法如何运作?我的意思是,我可以让一个控制器返回一个可以从这个视图访问的view + viewmodel。用户在视图中执行某些操作并从服务器请求操作。现在,该操作将在服务器端执行,它将返回另一个视图。因此,在从服务器请求任何操作后,我在HTML表单字段中存储的任何内容都将消失。
我想唯一的方法是将表单字段POST到服务器,然后将其与返回的View一起发回。如果我不从视图中发布它们,则模型视图对象数据将消失。或许还有另一种我不知道的方式?
答案 0 :(得分:0)
如果您需要在请求之间存储一些信息,可以使用隐藏字段。例如,第一个视图包含隐藏字段FirstName和LastName。 您将一些数据发布到控制器,这些数据将映射到某些视图模型。在这种情况下,您应该将FirstName和LastName属性添加到此视图模型,或将它们添加为其他操作参数。 从此操作中,您希望将FirstName和LastName传递给另一个视图:
但是如果您不想通过隐藏字段发送FirstName和LastName,则可以使用TempData存储。在呈现某些视图的第一个操作中添加这些参数,您可以在另一个操作中读取它们。 请阅读this文章了解详情。