ASP.NET Wizard 控件的缺点

标签 asp.net wizard

我正在评估 ASP.NET 向导控件。我们需要从不同步骤收集数据、验证数据,最后我应该能够显示数据摘要。

我想知道小组中是否有人使用过此控件以及他们遇到了什么问题。该控件有使用限制吗?

最佳答案

如果使用得当,向导控件可以为您节省大量的管道时间 - 但是,学习如何良好地使用它可能会花费您比节省的管道时间更多的费用。如果您打算重用它,那么了解其特性的初始投资可能是值得的。

我构建了一个向导,其中侧栏中显示的步骤取决于您所处的步骤(以及您在该点上所做的操作)。因此,当您按“下一步”或“上一步”时转到的步骤也是动态确定的。

为了实现这一点,我阅读了很多有关动态禁用步骤、隐藏步骤以及添加和删除步骤的内容。后者让我对 ViewState 陷入了深渊。无论如何,这是我的基本方法:

您可以通过将步骤 ID(和标题(如果已设置))设置为空字符串来控制侧边栏中可见的步骤,例如我在 arrWizardSteps() 中有步骤名称,并将我的步骤定义为整数常量,然后使用

  For i = intCREDENTIALS To intADDITIONAL_INFORMATION
    Wizard1.WizardSteps(i).ID = IIf(Wizard1.ActiveStepIndex < i, "", arrWizardSteps(i))
  Next

如果这些步骤相对独立,您可以通过调用相同的例程来处理 SideBarButtonClick、PreviousButtonClick 和 NextButtonClick 事件,您构建该例程是为了处理离开当前步骤并进入下一个步骤,而不管您单击哪个按钮来进行下一步操作。过渡。例如,例程可能会存储当前步骤的控件捕获的数据,并将一些数据加载到下一步的控件中。

如果您确实处理这些事件,您可能需要自己处理 ActiveStepIndex 的更改。如果您不更改 ActiveStepIndex(取决于按下的按钮),向导将递增/递减 ActiveStepIndex(除非您在处理程序中设置 e.Cancel=true,其中 e 是处理程序的 WizardNavigationEventArgs 参数)。

如果隐藏步骤的代码需要知道目标步骤,那么您需要将该代码放入 PreRender 中,因为此时向导将移至下一步,您将知道它是什么。

关于ASP.NET Wizard 控件的缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4795739/

相关文章:

angular - 向导中的表单组(检查某些元素的验证)

node.js - 如何在 Node.js 中为 readline 提供默认答案

java - 关于在 Swing 应用程序中使用向导

javascript - 如何获取 Knockout.js 向导中单选按钮选项的值?

c# - 提交修改viewstate所需的ajax asp表单

asp.net - 从ajax响应中获取数据

c# - WCF REST HttpContext.Current 异步/等待

c# - 作为当前用户使用 Web 服务添加列表项

asp.net - 获取组件向导的最后一步

c# - 单击完成按钮时调用方法 jquery-steps