在类似向导的过程中加载HTML并绑定View Modal的有效方法

时间:2014-05-02 12:25:29

标签: jquery html knockout.js

对于我正在开发的网站上的注册过程,用户将通过类似于向导的模式窗口(引导模式)进行交互 - 逐步进行。每个步骤都是一个小形式,并且在步骤之间存在分支的逻辑。目前共有14个步骤,但用户将经历的最长链是5个步骤。

我使用knockout将每个表单绑定到视图模型,在步骤转换期间,我保存表单中的相关数据。

目前,我将每个步骤作为ASP.NET MVC中的一个小视图,我使用jQuery的加载方法在运行时将步骤拉到客户端,将其放入我的引导程序中的.modal-body div模态。然后我将视图模型绑定到.modal-body元素。但是,我最终必须先执行ko.cleanNode,因为模态体div已经绑定了。

这对我来说似乎效率低下 - 在每个步骤的HTTP请求之间,并且必须解除绑定然后重新绑定。我想我可以使用隐藏的div在MVC中构建一次整个HTML结构,返回它,绑定整个视图模型,然后根据需要显示/隐藏每个步骤。这将是我如何实现目标,如果它只是在一个页面上。但是,初始的html负载似乎过多,因为大多数步骤都没有使用。

我的任何一种尝试都是合理的,还有其他方法可以实现这一目标吗?通过更好地执行,我的意思是更少的HTTP请求和更少的绑定复杂性。

1 个答案:

答案 0 :(得分:4)

做一次,根本不是那么低效。然后使用Knockout显示/隐藏各个步骤。服务器非常擅长将HTML发送给客户。