如何在网页上创建向导最佳方式?

3

我想创建一个向导,包括几个步骤,在最后一步需要将所有步骤包含并保存到数据库中。 哪种设计最好?

有没有jquery的实现? 是否需要在最终保存之前将步骤保存在会话中?


1
你可以使用JavaScript/jquery通过显示/隐藏div来“伪造”向导。然而,这样做将不会在数据库中有部分提交,并且向导中的复杂逻辑也是不可能的,即你的表单字段将始终相同(没有分支)。这只是一个UI技巧,而“真正”的向导通常具有逻辑。如果你更详细地描述了你需要什么,那将使事情变得更容易。 - mnemosyn
我也喜欢客户端向导方式,因为数据库只在最后被访问一次。 - James Westgate
3个回答

1
如果您不想在每个向导页面上访问数据库,那么您将需要使用会话或Cookie来存储页面请求之间的数据。
您还可以使用客户端技巧,利用JavaScript和隐藏框架来保存数据。

1

我已经为www使用创建了一些向导。如果您需要创建2个或更多的向导,则最好创建一个简单的向导框架,负责导航和会话中的数据存储。

在我的情况下,每个向导步骤都实现了IWizardStep接口,负责临时数据存储,以及一些常见信息,如步骤编号、显示字符串、下一个和上一个步骤等。然后我将它们组合在一起,框架负责按顺序显示它们,导航和处理。


你没有回答这个问题 - 如何存储临时数据以避免数据库调用。会话? Cookies?还是其他什么东西? - Oded
第一句话谈到了在会话中存储数据 - 我发现这是最好的选择,因为我可以存储我需要的任意数量的对象。 每个向导实例都有唯一的会话ID,因为用户可以同时打开多个向导,以避免数据不匹配。 - twk

1

我不太确定这是否是您需要的,但C#有一个向导控件,是实现向导类型进程的好方法。

http://weblogs.asp.net/scottgu/archive/2006/02/21/438732.aspx

如果你想自己实现流程,可以使用会话(session)来捕获每个步骤的值,并在最后一步保存。祝好运!

1
关于jQuery向导,希望这可以帮到你。-http://plugins.jquery.com/taxonomy/term/260 - Hanseh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接