This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

Wizard الفئة

Visual Studio 2010

يوفر التنقل واجهة المستخدم (واجه المستخدم) لجمع بيانات ذات الصلة عبر خطوات متعددة.

مساحة الاسم:  System.Web.UI.WebControls
التجميع:  System.Web (في System.Web.dll)

[BindableAttribute(false)]
public class Wizard : CompositeControl
<asp:Wizard />

في هذا الموضوع:

مقدمة

يمكنك استخدام عنصر التحكم Wizard لـ:

  • قم بتجميع بيانات ذات الصلة عبر خطوات متعددة.

  • فصل عن صفحة ويب بقعة صغيرة باستخدام في إدخال مستخدم في جمع في خطوات منطقية أصغر.

  • السماح بالتنقل بين خطي أو غير خطية خلال الخطوات.

معالج مكونات

Wizard التحكم مكون من المكونات التالية:

  • WizardStepCollection مجموعة من الخطوات التي تحتوي على واجهة مستخدم لكل خطوة، كما تم تعريفه من قبل المطور صفحة.

  • إمكانات التنقل المضمنة التي تحدد الأزرار المناسبة لعرض استناداً StepTypeالقيمة.

  • مساحة عنوان التي يمكن تخصيصها للمعلومات dهوplay الخاصة بالخطوة التي مستخدم هو حاليا تشغيل.

  • مساحة الشريط جانبي التي يمكن استخدامها للتنقل بسرعة إلى خطوات في عنصر تحكم.

    ملاحظةملاحظة

    إذا كنت تستخدم ‏‫‏‫Microsoft ‏‫‏‫Visual Studio 2005، لاحظ أن ActiveStepIndexهو يستمر في طريقة عرض المصدر. إذا قمت بتغيير WizardStepsخاصية في طريقة العرض "تصميم" بواسطة النقر فوق الأزرار الموجودة على الشريط الجانبي، وقم بتشغيل الصفحة، أول خطوة Wizardالتحكم قد لا تظهر لأن ActiveStepIndexقد تكون الإشارة إلى الخطوة مختلفة.

خطوات معالج

كل خطوة من الخطوات في Wizardعنصر تحكم يحتوي StepTypeخاصية التي تحدد نوع وظيفة التنقل التي تحتوي الخطوة. إذا لم تعين القيمة ل StepTypeخاصية، هو الالقيمة الافتراضية Auto. يسرد الجدول التالي إعدادات متوفرة StepTypeالخاصية و السلوك الناتج للخطوة.

WizardStepType.Auto

التنقل بين واجهة المستخدم التي هو تقديمها للخطوة هو تحديد حسب الترتيب الخطوة هو التصريح.

WizardStepType.Complete

الخطوة هو آخر إلى تظهر. لا توجد الأزرار التنقل يتم تقديمها.

WizardStepType.Finish

هو الخطوة الأخيرة واحد التي تقوم بتجميع بيانات مستخدم. الزر Finهوh هو تقديمها للتنقل.

WizardStepType.Start

الخطوة أول أحد أن يظهر. زر السابق هو لم يتم تقديمها.

WizardStepType.Step

الخطوة هو أي خطوة بين الأولى وأخيرة. السابق و التالي الأزرار يتم تقديمها ل التنقل.

تجميع بيانات معالج

استخدام Wizardعنصر تحكم، يمكنك تجميع بيانات من خلال خطي أو غير خطية التنقل. بعض الأمثلة عن التنقل غير خطي يتم تخطي الخطوات غير الضرورية أو العودة إلى سبق مكتمل الخطوة لتغيير بعض القيمة. Wizard عنصر تحكم يحافظ على حالتها بين الخطوات، ولذلك لا يلزم أن يستمر إلى مخزن بيانات حتى الجميع الخطوات الخاصة بالبيانات التي تم إدخالها في خطوة Wizardعنصر تحكم التي اكتملت.

بدلاً من ذلك، إذا أردت persهوt تخزين البيانات التي تم جمعها لبيانات كل خطوة هو المكتملة، مثل متى NextButtonClickحدث هو raهوed، يجب تعيين AllowReturnخاصية WizardStepBaseالكائن إلى falseحيث لا يمكن الرجوع إلى خطوة مكتملة مسبقاً مستخدم وقم بتغيير البيانات بمجرد أن تم إرسال.

أسماء الأوامر معالج

Wizard عنصر تحكم يرث أسماء الأوامر التالية من Viewفئة و MultiViewالفئة: NextViewCommandName و PreviousViewCommandName وSwitchViewByIDCommandName و SwitchViewByIndexCommandName. معالج عنصر تحكم يتجاهل هذه أسماء الأوامر لا يتضمن أي منطق خاص لتمكين هذه الأوامر للعمل بشكل تلقائي للتنقل. إذا كان اسم الأمر هو تمت إزالته أو هو mهوsing من زر في Wizardالتحكم، لا يوجد استثناء هو طرح. For مثال, if the StartNavigationTemplate زر هو missing a value for CommandName, لا exception هو تم طرح.

خطوات المتغيرة بشكل حيوي

يمكنك استخدام MoveToأسلوب أو ActiveStepIndexخاصية شكل حيوي تغيير الخطوة التي هو dهوplayed حاليا في Wizardعنصر التحكم.

ملاحظةملاحظة

إذا قمت بإضافة برمجياً WizardStepفي Page_Loadمعالج الأحداث، يجب إضافة التنقل إلى تلك الخطوة السابقة لتحميل الصفحة.

المظهر معالج

الالمظهر Wizardعنصر التحكم هو قابلة للتخصيص بالكامل من خلال قوالب أسطح خارجية وإعدادات النمط. على سبيل المثال، يمكنك استخدام HeaderTemplate، SideBarTemplate، StartNavigationTemplate، FinishNavigationTemplate، و StepNavigationTemplateالخصائص لتخصيص الواجهة Wizardعنصر تحكم.

ملاحظةملاحظة

Setting theFinishNavigationTemplate,DisplaySideBar,HeaderTemplate,SideBarTemplate,StartNavigationTemplate, orStepNavigationTemplateproperty recreates the child عنصر تحكمs of theWizardعنصر تحكم. كنتيجة، الولاية العرض للتابع عناصر التحكم يتم فقدان في العملية. لتجنب هذا الموقف، وضوح المحافظة على الولاية عنصر التحكم Wizardيتحكم بشكل صريح، فرع لعنصر التحكم أو تجنب وضع عناصر تحكم داخل القوالب.

ملاحظة that the Wizard عنصر تحكم does not دعم خاص Microsoft إنترنت مستكشف رسم هندسي for non-قياسي أو المراوغات الوضع. إلى يحصل the best إنترنت مستكشف رسم هندسي using the Wizard عنصر تحكم, استخدم the XHTML doc نوع, which هو تمت الإضافة بواسطة الافتراضي في Visual ويب Developer و ‏‫Visual Studio.

تنسيق باستخدام قوالب تخطيط

The Wizard عنصر تحكم lets you specify the تخطيط of the عنصر تحكم without requiring you إلى استخدم an HTML table عنصر. Instead, you can استخدم a LayoutTemplate عنصر إلى specify the تخطيط. In the قالب, you إنشاء عنصر نائب عناصر التحكم إلى indicate الموقع عناصر should be dynamically inserted في the عنصر تحكم. (This هو similar إلى how the قالب model for the ListView عنصر تحكم works.) لمزيد من المعلومات، انظر الخاصية Wizard.LayoutTemplate.

‏إمكانية وصول ذوي الاحتياجات الخاصة

للحصول على المعلومات حول كيفية تكوين هذا عنصر تحكم حيث أنه يقوم بإنشاء ترميز التي تتوافق مع معايير إمكانية الوصول، راجع دعم الوصول في ASP.NETو عناصر تحكم ASP.NET و إمكانية التشغيل.

بناء جملة مصرحة

<asp:Wizard
    AccessKey="string"
    ActiveStepIndex="integer"
    BackColor="color name|#dddddd"
    BorderColor="color name|#dddddd"
    BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
        Inset|Outset"
    BorderWidth="size"
    CancelButtonImageUrl="uri"
    CancelButtonText="string"
    CancelButtonType="Button|Image|Link"
    CancelDestinationPageUrl="uri"
    CellPadding="integer"
    CellSpacing="integer"
    CssClass="string"
    DisplayCancelButton="True|False"
    DisplaySideBar="True|False"
    Enabled="True|False"
    EnableTheming="True|False"
    EnableViewState="True|False"
    FinishCompleteButtonImageUrl="uri"
    FinishCompleteButtonText="string"
    FinishCompleteButtonType="Button|Image|Link"
    FinishDestinationPageUrl="uri"
    FinishPreviousButtonImageUrl="uri"
    FinishPreviousButtonText="string"
    FinishPreviousButtonType="Button|Image|Link"
    Font-Bold="True|False"
    Font-Italic="True|False"
    Font-Names="string"
    Font-Overline="True|False"
    Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
        Large|X-Large|XX-Large"
    Font-Strikeout="True|False"
    Font-Underline="True|False"
    ForeColor="color name|#dddddd"
    HeaderText="string"
    Height="size"
    ID="string"
    OnActiveStepChanged="ActiveStepChanged event handler"
    OnCancelButtonClick="CancelButtonClick event handler"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnFinishButtonClick="FinishButtonClick event handler"
    OnInit="Init event handler"
    OnLoad="Load event handler"
    OnNextButtonClick="NextButtonClick event handler"
    OnPreRender="PreRender event handler"
    OnPreviousButtonClick="PreviousButtonClick event handler"
    OnSideBarButtonClick="SideBarButtonClick event handler"
    OnUnload="Unload event handler"
    runat="server"
    SkinID="string"
    SkipLinkText="string"
    StartNextButtonImageUrl="uri"
    StartNextButtonText="string"
    StartNextButtonType="Button|Image|Link"
    StepNextButtonImageUrl="uri"
    StepNextButtonText="string"
    StepNextButtonType="Button|Image|Link"
    StepPreviousButtonImageUrl="uri"
    StepPreviousButtonText="string"
    StepPreviousButtonType="Button|Image|Link"
    Style="string"
    TabIndex="integer"
    ToolTip="string"
    Visible="True|False"
    Width="size"
>
        <CancelButtonStyle />
        <FinishCompleteButtonStyle />
        <FinishNavigationTemplate>
            <!-- child controls -->
        </FinishNavigationTemplate>
        <FinishPreviousButtonStyle />
        <HeaderStyle />
        <HeaderTemplate>
            <!-- child controls -->
        </HeaderTemplate>
        <NavigationButtonStyle />
        <NavigationStyle />
        <SideBarButtonStyle />
        <SideBarStyle />
        <SideBarTemplate>
            <!-- child controls -->
        </SideBarTemplate>
        <StartNavigationTemplate>
            <!-- child controls -->
        </StartNavigationTemplate>
        <StartNextButtonStyle />
        <StepNavigationTemplate>
            <!-- child controls -->
        </StepNavigationTemplate>
        <StepNextButtonStyle />
        <StepPreviousButtonStyle />
        <StepStyle />
        <WizardSteps>
                <asp:TemplatedWizardStep
                    AllowReturn="True|False"
                    ContentTemplateContainer="string"
                    EnableTheming="True|False"
                    EnableViewState="True|False"
                    ID="string"
                    OnActivate="Activate event handler"
                    OnDataBinding="DataBinding event handler"
                    OnDeactivate="Deactivate event handler"
                    OnDisposed="Disposed event handler"
                    OnInit="Init event handler"
                    OnLoad="Load event handler"
                    OnPreRender="PreRender event handler"
                    OnUnload="Unload event handler"
                    runat="server"
                    SkinID="string"
                    StepType="Auto|Complete|Finish|Start|Step"
                    Title="string"
                    Visible="True|False"
>
                        <ContentTemplate>
                            <!-- child controls -->
                        </ContentTemplate>
                        <CustomNavigationTemplate>
                            <!-- child controls -->
                        </CustomNavigationTemplate>
                </asp:TemplatedWizardStep>
                <asp:WizardStep
                    AllowReturn="True|False"
                    EnableTheming="True|False"
                    EnableViewState="True|False"
                    ID="string"
                    OnActivate="Activate event handler"
                    OnDataBinding="DataBinding event handler"
                    OnDeactivate="Deactivate event handler"
                    OnDisposed="Disposed event handler"
                    OnInit="Init event handler"
                    OnLoad="Load event handler"
                    OnPreRender="PreRender event handler"
                    OnUnload="Unload event handler"
                    runat="server"
                    SkinID="string"
                    StepType="Auto|Complete|Finish|Start|Step"
                    Title="string"
                    Visible="True|False"
                />
        </WizardSteps>
</asp:Wizard>

The following تعليمات برمجية مثال demonstrates how إلى define a Wizard عنصر تحكم إلى collect a مستخدم's اسم و العنوان, مع the خيار إلى Enter الزر a separate shipping العنوان. إذا لم مستخدم بتحديد من SeparateShippingCheckBox، وبالتالي إصدار طلب لإضافة العنوان شحن منفصلة، Wizardعنصر تحكم وينتقل مباشرة من Step2إلى Finish. تشغيل Finishالخطوة، يكون لدى مستخدم خيار للعودة إلى البداية Wizardعنصر التحكم بالنقر فوق GoBackButton؛ ومع ذلك، فإنه يأخذ مستخدم إلى Step2لأن AllowReturnخاصية Step1هو معينة إلى false.

ملاحظة الأمانملاحظة الأمان

يحتوي هذا المثال على مربع نص يقبل إدخال المستخدم و الذي يعد تهديد أمان محتمل. بشكل افتراضي، تتحقق صفحات ويب ASP.NET من أن مُدخلات المستخدم لا تتضمن برنامج نصي أو عناصر HTML. لمزيد من المعلومات، راجع نظرة عامة حول عمليات استغلال البرنامج النصي.


<%@ Page Language="C#" CodeFile="WizardClass.cs" Inherits="WizardClasscs_aspx" %>

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

<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" 
        onfinishbuttonclick="OnFinishButtonClick" 
        backcolor="#EFF3FB" 
        font-names="Verdana" 
        font-size="0.8em"
        borderwidth="1px" 
        bordercolor="#B5C7DE" 
        style="font-size: medium; font-family: Verdana;" 
        onactivestepchanged="OnActiveStepChanged">       
      <StepStyle forecolor="#333333" 
        font-size="0.8em" />
        <WizardSteps>        
          <asp:WizardStep id="Step1" 
            title="One"
            allowreturn="false" 
            runat="server" >
            Welcome to the Wizard example.  This step's AllowReturn property is set 
            to false, so after you leave this step you will not be able to return to it.
          </asp:WizardStep>          
          <asp:WizardStep id="Step2"
            title="Two" 
            runat="server" >
            <!-- ... Put UI elements here ... -->
            Please enter your billing information.
            <br />
            Name:<br />
            <asp:TextBox runat="server" 
              id="BillingName" 
              width="226px" 
              height="17px" /> 
            <br />
            E-mail Address:<br />
            <asp:TextBox runat="server" 
              id="EmailAddress" 
              width="224px" 
              height="17px" />
            <br />
            Address Line 1: <br />
            <asp:TextBox runat="server" 
              id="BillingAddressLine1" 
              width="314px" 
              height="17px" />
            <br />
            Address Line 2: <br />
            <asp:TextBox runat="server" 
              id="BillingAddressLine2" 
              width="314px" 
              height="17px" />
            <br />
            City: <br />
            <asp:TextBox runat="server" 
              id="BillingCity" 
              width="155px" 
              height="17px" /> 
            <br />
            State: <br />
            <asp:TextBox runat="server" 
              id="BillingState" 
              width="75px" 
              height="17px" /> 
            <br />
            ZIP Code: <br />
            <asp:TextBox runat="server" 
              id="BillingZip" 
              height="17px" />
            <br /><br />
            <asp:CheckBox runat="server" 
              id="SeparateShippingCheckBox" 
              text="Please check here if you would like to add a separate shipping address." />
          </asp:WizardStep>          
          <asp:WizardStep id="Step3" 
            title="Three" 
            runat="server" >
            <!-- Gather the shipping address in this step if CheckBox1 was selected. -->
            Please enter your shipping information.
            <br />
                Name:<br />
                <asp:TextBox runat="server" 
                  id="ShippingName" 
                  height="17px" /> 
                <br />
                Address Line 1: <br />
                <asp:TextBox runat="server" 
                  id="ShippingAddress1" 
                  width="370px" 
                  height="17px" />
                <br />
                Address Line 2: <br />
                <asp:TextBox runat="server" 
                  id="ShippingAddress2" 
                  width="370px" 
                  height="17px" />
                <br />
                City: <br />
                <asp:TextBox runat="server" 
                  id="ShippingCity" 
                  height="17px" /> 
                <br />
                State: <br />
                <asp:TextBox runat="server" 
                  id="ShippingState" 
                  width="65px" 
                  height="17px" />
                <br /> 
                ZIP Code: <br />
                <asp:TextBox runat="server" 
                  id="ShippingZip" 
                  height="17px" />
          </asp:WizardStep>
          <asp:WizardStep id="Finish" 
            title="Finish"
            runat="server" >
            <!-- Put UI elements here for the Finish step. -->
            <asp:Button runat="server" 
              id="GoBackButton" 
              text="Go Back to Step 2" 
              onclick="OnGoBackButtonClick"
              forecolor="#284E98" 
              font-names="Verdana"
              font-size="1.0em" 
              borderstyle="Solid" 
              borderwidth="1px" 
              bordercolor="#507CD1" 
              backcolor="White" /> 
          </asp:WizardStep>          
          <asp:WizardStep runat="server" 
            steptype="Complete" 
            title="Complete" 
            id="Complete">
            <asp:Label runat="server" 
              id="CompleteMessageLabel" 
              width="408px" 
              height="24px">
            </asp:Label>
          </asp:WizardStep>
        </WizardSteps> 
        <NavigationButtonStyle forecolor="#284E98" 
          font-names="Verdana"
          font-size="1.0em" 
          borderstyle="Solid" 
          borderwidth="1px" 
          bordercolor="#507CD1" 
          backcolor="White" />
        <HeaderStyle forecolor="White" 
          horizontalalign="Center" 
          font-size="0.9em" 
          font-bold="True"
          backcolor="#284E98" 
          borderstyle="Solid" 
          bordercolor="#EFF3FB" 
          borderwidth="2px" />
        <SideBarStyle verticalalign="Top" 
          horizontalalign="Center"
          font-size="0.8em" 
          forecolor="#000099"
          backcolor="#EFF3FB"
          width="45px" />
        <HeaderTemplate>
          <b>Wizard Example</b>
        </HeaderTemplate>
      </asp:Wizard>
    </form>
  </body>
</html>


مثال التعليمة البرمجية التالية هو الملف لتعليمات برمجية في الخلف لصفحة ويب المستخدمة في المثال السابق.


using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class WizardClasscs_aspx : System.Web.UI.Page
{
    protected void OnFinishButtonClick(Object sender, WizardNavigationEventArgs e)
    {
        // The OnFinishButtonClick method is a good place to collect all
        // the data from the completed pages and persist it to the data store. 

        // For this example, write a confirmation message to the Complete page
        // of the Wizard control.
        Label tempLabel = (Label)Wizard1.FindControl("CompleteMessageLabel");
        if (tempLabel != null)
        {
            tempLabel.Text = "Your order has been placed. An e-mail confirmation will be sent to "
            + (EmailAddress.Text.Length == 0 ? "your e-mail address" : EmailAddress.Text) + ".";
        }
    }

    protected void OnGoBackButtonClick(object sender, EventArgs e)
    {
        // The GoBackButtonClick event is raised when the GoBackButton
        // is clicked on the Finish page of the Wizard.  

        // Check the value of Step1's AllowReturn property.
        if (Step1.AllowReturn)
        {
            // Return to Step1.
            Wizard1.ActiveStepIndex = Wizard1.WizardSteps.IndexOf(this.Step1);
        }
        else
        {
            // Step1 is not a valid step to return to; go to Step2 instead.
            Wizard1.ActiveStepIndex = Wizard1.WizardSteps.IndexOf(this.Step2);
            Response.Write("ActiveStep is set to Step2 because Step1 has AllowReturn set to false.");
        }
    }

    protected void OnActiveStepChanged(object sender, EventArgs e)
    {
        // If the ActiveStep is changing to Step3, check to see whether the 
        // SeparateShippingCheckBox is selected.  If it is not, skip to the
        // Finish step.
        if (Wizard1.ActiveStepIndex == Wizard1.WizardSteps.IndexOf(this.Step3))
        {
            if (this.SeparateShippingCheckBox.Checked)
            {
                Wizard1.MoveTo(this.Step3);
            }
            else
            {
                Wizard1.MoveTo(this.Finish);
            }
        }
    }
}


يتم تأمين العملية الجزئية لأي عضو عمومي ثابت (مشترك في Visual Basic) من هذا النوع. لن يتم ضمان تأمين العملية الجزئية لأي عضو مثيل.

نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0
إظهار: