WizardStepBase.AllowReturn 属性

定义

获取或设置一个值,该值指示是否允许用户从 WizardStepCollection 集合中后面的步骤返回当前步骤。

public:
 virtual property bool AllowReturn { bool get(); void set(bool value); };
[System.Web.UI.Themeable(false)]
public virtual bool AllowReturn { get; set; }
[<System.Web.UI.Themeable(false)>]
member this.AllowReturn : bool with get, set
Public Overridable Property AllowReturn As Boolean

属性值

如果允许用户返回当前步骤,则为 true;否则为 false。 默认值是 true

属性

示例

以下示例演示如何在访问控件后使用 AllowReturn 属性阻止用户返回到控件中的 Wizard 步骤。 在示例中,步骤 Step1AllowReturn 属性设置为 false。 用户离开步骤 Step1 后,步骤上 Step2 不会显示“上一步”按钮。

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:Wizard id="Wizard1" 
        runat="server"
    displaysidebar="false" >
        <WizardSteps>
          <asp:WizardStep id="WizardStep1" 
            title="Step 1" 
            allowreturn="false"
            runat="server">
            You are currently on Step 1.
          </asp:WizardStep>
          <asp:WizardStep id="WizardStep2" 
            title="Step 2" 
            runat="server">
            You are currently on Step 2.
          </asp:WizardStep>
          <asp:WizardStep id="WizardStep3" 
            title="Step 3" 
            runat="server">
            You are currently on Step 3.
          </asp:WizardStep>
        </WizardSteps>
        <HeaderTemplate>
          <b>WizardStepBase AllowReturn Example</b>
        </HeaderTemplate>
      </asp:Wizard>
    </form>
  </body>
</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:Wizard id="Wizard1" 
        runat="server"
    displaysidebar="false" >
        <WizardSteps>
          <asp:WizardStep id="WizardStep1" 
            title="Step 1" 
            allowreturn="false"
            runat="server">
            You are currently on Step 1.
          </asp:WizardStep>
          <asp:WizardStep id="WizardStep2" 
            title="Step 2" 
            runat="server">
            You are currently on Step 2.
          </asp:WizardStep>
          <asp:WizardStep id="WizardStep3" 
            title="Step 3" 
            runat="server">
            You are currently on Step 3.
          </asp:WizardStep>
        </WizardSteps>
        <HeaderTemplate>
          <b>WizardStepBase AllowReturn Example</b>
        </HeaderTemplate>
      </asp:Wizard>
    </form>
  </body>
</html>

注解

属性 AllowReturn 可用于在控件中 Wizard 强制实施线性导航。 如果每个步骤的 AllowReturn 属性设置为 false,则用户将无法在访问步骤后返回到该步骤。 可以使用此功能的一种方案是禁止用户在完成某个步骤后返回到某个步骤,因为你在完成每个步骤时将数据保存到数据库。 如果在每个步骤后保存数据,并允许用户返回到步骤并在保存后更改信息,则保存的数据可能会损坏。 通过将 属性设置为 AllowReturnfalse,用户离开步骤后,他们将无法返回该步骤并更改任何值。

属性 AllowReturn 确定如何以及何时不呈现 “上一个 ”按钮。 下表描述了 “上一个 ”按钮呈现行为。

方案 行为
线性:步骤 1 已 AllowReturn 设置为 false ,用户操作将转到步骤 2。 步骤 2 不显示“ 上一步 ”按钮。
非线性:步骤 1 已 AllowReturn 设置为 false ,用户操作将转到步骤 3。 步骤 3 不显示“ 上一步 ”按钮。
侧边栏按钮:步骤 2 已 AllowReturn 设置为 falseDisplaySideBar 设置为 true,用户单击 SideBar 按钮。 设置为 falseAllowReturn,边栏上不会自动禁用任何按钮。 如果用户单击该按钮,则会忽略该操作。
使用自定义模板 & 非线性:步骤具有自定义导航模板。 如果使用模板进行导航,如果将 AllowReturn 设置为 false ,则不会自动隐藏或显示。 模板上的 “上一个 ”按钮应该是可选的。
使用 Visual Studio Designer 和 ActiveStepIndex :控件有 5 个步骤,你正在执行步骤 4,并运行页面。 当步骤 4 为 时, ActiveStepIndex将呈现 “上一步 ”按钮。 仅当历史记录中的上一步设置为 AllowReturn 时,“上一步”按钮才隐藏StepTypeStep设置为 false。 由于首先呈现步骤 4,并且历史记录中没有步骤,因此不会隐藏 “上一步 ”按钮。
启动步骤和非线性导航:用户访问步骤 3 和步骤 4,然后访问已 StepType 设置为 Start的步骤 1。 将 设置为 StartStepType,向导不会添加“上一步”按钮,无论用户如何导航到该步骤。
历史记录中的相同步骤:用户访问步骤 3,其中 StepType 设置为 Step ,并且用户不提交其操作。 然后,单击步骤 3 中的上一个按钮。 向导控件检查历史记录中的 上一 步是否与用户当前所在的“相同”步骤。 如果步骤相同,向导控件会回溯到历史记录中,以确定前面的“不同”步骤,并根据历史记录中的“不同步骤”来显示 “上一步 ”按钮和目标。

注意

当 属性 AllowReturn 设置为 false时, DisplaySideBar 但 的父控件 WizardStepBase 的 属性设置为 true时,单击边栏区域中的按钮不起作用。 通常显示边栏区域以提供非线性导航,因此,如果不使用非线性导航的功能,则可能需要将 属性设置为 DisplaySideBarfalse

无法通过主题或样式表主题设置此属性。 有关详细信息,请参阅 ThemeableAttributeASP.NET 主题和外观

适用于

另请参阅