آموزش ASP.Net > کنترل های استاندارد > کنترل ویزارد Wizard
مقدمه و معرفی کنترل ویزارد Wizard
مقدمه :
یکی از نیازهای اساسی در طراحی صفحات وب پویا ، امکان تعامل با کاربر و دریافت مقادیر
مورد نظر از وی برای تکمیل فرم های مثل فرم ثبت نام یا سفارش کالاست .
کنترل ویزارد این امکان را به ما می دهد تا چندین فرم را به صورت مرحله به مرحله به
کاربر نمایش داده و در هر مرحله اطلاعات لازم را از وی دریافت کنیم .
به وسیله این کنترل می توانید مراحل ویزارد را به ترتیب مورد نظر تعیین کرده ، بر حسب
انتخاب ها یا مقادیر ورودی کاربر ، مرحله یا مراحل بعدی را تنظیم نموده و ترتیب مراحل
را تغییر دهید .
به عبارت دیگر کنترل ویزارد Wizard ، مجموعه ای از فرم ها را در قالب یک رابط کاربری
به کاربر نمایش داده و اطلاعات را از وی دریافت می کند . شما می توانید به راحتی ظاهر
این کنترل را توسط قالب ها تعیین نموده و دکمه های مسیر را در آن قرار دهید .
تعیین مراحل کنترل ویزارد ( Wizard Steps ) :
در کنترل ویزارد ، هر مرحله از دریافت اطلاعات و فرم آن تحت عنوان یک Step ایجاد می
شود . کنترل می تواند از هر چند مرحله یا Step لازم تشکیل شود . کاربر هر Step را که
کامل نمود ، با کلیک بر روی دکمه های پیمایش به Step بعدی می رود تا فرآیند کامل شود
.
به طور کلی در کنترل ویزارد Wizard ، 3 نوع Step داریم :
- beginnign step : این Step ، مرحله آغازین ویزارد است .
- intermediate step : این Step ، مراحل میانی ویزارد را تعیین
می کند . یک کنترل ویزارد Wizard ، می تواند چندین Step میانی داشته باشد .
- completation step : این Step مرحله آخر ویزارد است . در آن
می توان اطلاعات را جمع بندی و ارسال نمود .
شما در هر مرحله از ویزارد ، می توانید انواع کنترل های ASP.Net را برای دریافت اطلاعات
از کاربر قرار دهید ، مقل کنترل های کادر متن ( TextBox ) یا کادرهای انتخابی ( ListBox
) و ... .
مثال عملی : کد زیر ، یک کنترل ویزارد را نشان می دهد که دارای 2
مرحله است :
|
کد
|
<asp:Wizard ID="Wizard1" Runat="server">
<WizardSteps>
<asp:WizardStep
ID="WizardStep1" Runat="server" Title="Step 1">
</asp:WizardStep>
<asp:WizardStep ID="WizardStep2" Runat="server"
Title="Step 2">
</asp:WizardStep>
</WizardSteps>
</asp:Wizard>
|
|
خروجی
|
|
دکمه های پیمایش و حرکت در کنترل ویزارد Wizard :
کنترل ویزارد هم از قابلیت پیمایش خطی و هم غیر خطی ، برای حرکت بین Step ها پشتیبانی
می کند .
سیستم مدیریت کنترل ویزارد ( State Managment ) این امکان را به کاربر می دهد ، تا
بدون از دست دادن اطلاعاتی که در هر مرحله وارد نموده ، بین مراحل جلو و عقب رفته و
اطلاعات خود را بازبینی و اصلاح نماید .
همجنین لیست مراحل کاری کنترل در یک تولبار عمودی در سمت چپ یا راست کنترل نمایش داده
می شود ، که با کلیک بر روی عنوان هر مرحله ، می توان به صورت مستقیم به آن مرحله حرکت
نمود .
می توانید متن دکمه های پیمایش کنترل را درون تگ اصلی کنترل ویزارد به وسیله خواص StepNextButtonText,
StepPreviousButtonText و FinishCompleteButtonText تعیین نمایید . همانند کد زیر :
|
کد
|
<asp:Wizard ID="Wizard2" Runat="server"
StepNextButtonText=" Next >> "
StepPreviousButtonText=" << Previous "
FinishCompleteButtonText=" Done! " >
|
سفارشی کردن سایر تنظیمات کنترل ویزارد Wizard :
کنترل ویزارد به صورت اتوماتیک ، یک عنوان را در هر مرحله Step نمایش می دهد . این
عنوان را می توانید توسط خاصیت HeaderText تعیین نمایید . همچنین می توانید تمپلیت
کلی سر عنوان هر مرحله را به وسیله المنت HeaderTempalte مشخص سازید .
امکان دیگر این است که به صورت دلخواه می توانید یک دکمه لغو Cancel را با قرار دادن
مقدار خاصیت DisplayCancelButton برابر با true ، در هر مرحله Step قرار دهید .
همچنین خاصیت NavigationButtonStyle را می توانید برای تعیین ظاهر کنترل های پیمایش
درون هر مرحله به صورت عمومی یا کلی به کار ببرید .
کارایی خواص فوق را در مثال های زیر بررسی کرده ایم .
تنظیمات دکمه های پیمایش کنترل ویزارد Wizard :
در کنترل ویزارد ، می توانید ظاهر هر کدام از دکمه های پیمایش موجود در مراحل آن را
به وسیله خواص زیر تعیین نمایید : خواص زیر تعیین نمایید :
- StartNavigationTemplate : برای تعیین ظاهر کنترل شروع ویزارد
به کار می رود .
- FinishNavigationTemplate : برای تعیین ظاهر کنترل پایانی ویزارد
به کار می رود .
- StepNavigationTemplate : برای تعیین ظاهر کنترل های میانی
ویزارد به کار می رود .
- SideBarTemplate : برازی تعیین ظاهر منوی عمودی کنار کنترل
که لیت مراحل ویزارد را نمایش می دهد ، به کار می رود .
رویدادهای کنترل ویزارد Wizard :
به وسیله انواع رویدادهای فراهم شده برای کنترل ویزارد Wizard ، به راحتی می توان رفتار
این کنترل را با نوشتن کدهای لازم ، کنترل نمود .
برای مثال می توان از رویداد NextButtonClick برای جمع آوری اطلاعات در پایان هر مرحله
استفاده نمود . این رویداد در هنگام کلیک کاربر بر روی دکمه Next اجرا می شود .
پارامترهای WizardNavigationEventArgs در هنگام فراخوانی رویداد فوق ، مقادیر CurrentStepIndex
( اندیس مرحله جاری ) و NextStepIndex ( اندیس مرحله بعدی ) را به رویداد ارسال می
کنند که از آنها می توان برای تشخیص مرحله و اجرای کد لازم استفاده نمود .
در نهایت می توان رفتار کنترل را در هنگام کلیک کاربر بر روی دکمه های Previous و Finish
به ترتیب با رویدادهای PreviousButtonClick و FinishButtonClick هندل نمود .
همچنین می توانید کلیه اطلاعات مرحله جاری و یا کنترل را با استفاده از رویداد CancelButtonClick
که در هنگام کلیک کاربر بر روی دکمه Cancel اجرا می شود ، پاک نمود .
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1
حمایت نمایید :