Asp.net mvc 单页应用程序与标准MVC更多详细信息

Asp.net mvc 单页应用程序与标准MVC更多详细信息,asp.net-mvc,kendo-ui,kendo-asp.net-mvc,Asp.net Mvc,Kendo Ui,Kendo Asp.net Mvc,我正在使用kendo作为我的客户端框架,使用MVVM单页应用程序体系结构作为我目前正在开发的多页MVC应用程序。总共有4个页面/步骤,其中前3个步骤要求用户输入一些信息,点击下一步按钮,并使用kendos路由器功能路由到“下一步”按钮上的特定页面 每个页面的值取决于上一页,因此在第1页中,用户将输入一些用户ID,在单击“下一步”按钮时,它将调用对我的控制器方法的AJAX调用,从视图传入一个viewmodel,然后根据这些ID返回一些值,并将它们加载到第2页 由于这些值是基于第1页视图中的剑道可观

我正在使用kendo作为我的客户端框架,使用MVVM单页应用程序体系结构作为我目前正在开发的多页MVC应用程序。总共有4个页面/步骤,其中前3个步骤要求用户输入一些信息,点击下一步按钮,并使用kendos路由器功能路由到“下一步”按钮上的特定页面

每个页面的值取决于上一页,因此在第1页中,用户将输入一些用户ID,在单击“下一步”按钮时,它将调用对我的控制器方法的AJAX调用,从视图传入一个viewmodel,然后根据这些ID返回一些值,并将它们加载到第2页

由于这些值是基于第1页视图中的剑道可观察viewmodel加载的,因此如果用户在第2页刷新,这些值将全部变为null,因为刷新基本上会清除viewmodel中保存的所有值,或者如果用户按下“上一步”按钮或浏览器上的后退按钮,无论他们在第1页上输入的值是什么,都将为空,而不是显示他们以前输入的值

主要问题是,这是适合我所做工作的架构吗?我是否应该只做标准MVC,从服务器端传递我的viewmodels/填充我的屏幕,这样我的值就永远不会为空,但刷新时它总是会命中服务器端代码。

如果单页应用程序体系结构适用于此类应用程序,该问题的解决方案是什么?


谢谢

为什么不使用sessionstorage或localstorage将这些值保留多长时间?Marco是的,我可以,但我一般不喜欢使用它们,这只是个人的事情,如果我必须这样做的话,这似乎只是额外的工作,那么放弃单页应用程序的方式,通过传递我的viewmodels来使用标准的MVC不是更容易、更干净吗?在这一点上,这更像是一个架构问题,更像是我应该用这些要求来做一个单页应用程序,还是仅仅坚持标准MVC?我恐怕这不在stackoverflow的范围之内。我们不能以适当的方式解决这类问题。这一切将归结为机会和您的要求,我们不知道。就个人而言,这不是体系结构的问题,而是在浏览器中使用asp.net或JavaScript提供的正确工具(会话/缓存和本地存储)的问题。您可以不考虑您的体系结构而使用任何一个。@Marco Ahh好的,如果有帮助的话,我的应用程序基本上是一个管理工具,当用户按下“下一步”时,它允许用户在第一页上指定用户ID的列表,它将把他们带到一个带有剑道网格的页面,该页面将根据第一页的用户id列表加载用户名和电子邮件。然后,用户可以对名字或电子邮件进行编辑,然后点击下一步,进入最终屏幕,该屏幕将从网格中提交信息并将其保存到数据库中。如果这能让事情变得更清楚?@Marco从技术上讲,我只是想确定,在我的情况下,使用javascript实现MVVM是否会使事情变得过于复杂,或者它会更干净,我会说“实用/或更好的方法”通过在每次调用时将viewmodel传递到服务器端来构建我的应用程序,我需要通过ajax begin表单加载页面,等等。。。。