آموزش ASP.Net

آموزش ASP.Net - کار با Multi Views

کنترل های View و MultiView به برنامه نویس تحت وب امکان می دهد محتویات (content) یک صفحه را به گروه های مختلف تقسیم کرده و هر گروه را به صورت مجزا نمایش دهد. هر View control تنها یک گروه محتوا را مدیریت می کند و کلیه ی view control ها به صورت جمعی در یک multi-view control  نگه داری می شوند.

MultiView control مسئول به نمایش گذاشتن view control ها به صورت تکی می باشد. view نمایش داده شده active view (  view فعال) اطلاق می گردد.

دستور نگارش (syntax) MultiView control به صورت زیر می باشد:

<asp:MultView ID= "MultiView1" runat= "server">
</asp:MultiView>

دستور نگارش View control

<asp:View ID= "View1" runat= "server">
</asp:View>

توجه داشته باشید که View control به تنهایی قابل استفاده نمی باشد و در صورت استفاده از آن به صورت جداگانه با خطا (error) مواجه می شوید. لازم است بخاطر داشته باشید که همیشه به همراه کنترل MultiView  بکار می رود:

<asp:MultView ID= "MultiView1" runat= "server">
   <asp:View ID= "View1" runat= "server"> </asp:View>
</asp:MultiView>

خاصیت های کنترل های MultiView و View

هر دو کنترل های view و MultiView از کلاس Control مشتق می شوند و از این رو تمامی خاصیت ها (property)، توابع و رخدادهای (event) آن را به ارث می برند. مهم ترین خاصیت view control، خاصیت Visible از نوع Boolean (بولی) می باشد که قابلیت رویت (visibility) یک view را تنظیم می کند.

MultiView control خاصیت هایی دارد که ذیل فهرست شده: 

خواص

شرح

Views

مجموعه collection) control view های داخل (MultiView را بازیابی می کند.

ActiveViewIndex

اندیس active view control را بازیابی کرده یا مقداردهی می کنید.
یک اندیس که از صفر شروع می شود بازگردانی می کند. اندیس صفر به معنای وجود active view در کنترل multiview می باشد و -1 نشانگر عدم وجود active view می باشد.

 

خصیصۀ  CommandName کنترل button با پیمایش (navigation) کنترل MultiView در برخی از فیلدهای کنترل MultiView مرتبط و مشابه هستند.

برای مثال، اگر کنترل button با مقدار  command name به عنوان nextview همراه با MultiView می باشد و در هنگام کلیک بر روی button ، به طور خودکار پیمایش (navigation) را به nextview می برد.

جدول زیر command name های پیش فرض خاصیت های فوق را ارائه می دهد:

خواص

شرح

NextViewCommandName

NextView

PreviousViewCommandName

PrevView

SwitchViewByIDCommandName

SwitchViewByID

SwitchViewByIndexCommandName

SwitchViewByIndex

 

متدهای مهم کنترل multiview به ترتیب زیر می باشند:

متدها

شرح

SetActiveview

این تابع active view را تنظیم می کند.

GetActiveview

Active view را بازیابی می کند.

 

هر بار که یک view عوض می شود، صفحه به server (رایانه ی سرویس دهنده) برگردانده (post back) شده و تعدادی رویداد (event) به دنبال آن فعال می شوند. برخی از این رخدادهای پرکاربرد کنترل ذکر شده زیر فهرست شده اند:

رخدادها

شرح

ActiveViewChanged

این رخداد زمانی فعال می شود که یک view عوض شود (تغییر کند).

Activate

این event هنگامی روی می دهد که control view (کنترل نمای) جاری تبدیل به active view  (نمای فعال) شود.

Deactivate

زمانی رخ می دهد که active view control (کنترل view فعال ) جاری غیر فعال شده باشد.

 

جدا از خواص، متدها و رخدادهای فوق، کنترل multiview اعضای کلاس object و control را به ارث می برد.

مثال

نمونه صفحه مثال ما دارای سه view می باشد. هر view برای پیمایش بین view ها از دو دکمه بهره می گیرد.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="multiviewdemo._Default" %>

<!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>
         Untitled Page
      </title>
   </head>
   
   <body>
      <form id="form1" runat="server">
      
         <div>
            <h2>MultiView and View Controls</h2>
            
            <asp:DropDownList ID="DropDownList1" runat="server" onselectedindexchanged="DropDownList1_SelectedIndexChanged">
            </asp:DropDownList>
            
            <hr />
            
            <asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="2"  onactiveviewchanged="MultiView1_ActiveViewChanged" >
               <asp:View ID="View1" runat="server">
                  <h3>This is view 1</h3>
                  <br />
                  <asp:Button CommandName="NextView" ID="btnnext1" runat="server" Text = "Go To Next" />
                  <asp:Button CommandArgument="View3" CommandName="SwitchViewByID" ID="btnlast" runat="server" Text  ="Go To Last" />
               </asp:View> 
               
               <asp:View ID="View2" runat="server">
                  <h3>This is view 2</h3>
                  <asp:Button CommandName="NextView" ID="btnnext2" runat="server" Text = "Go To Next" />
                  <asp:Button CommandName="PrevView" ID="btnprevious2" runat="server" Text = "Go To Previous View" />
               </asp:View> 

               <asp:View ID="View3" runat="server">
                  <h3> This is view 3</h3>
                  <br />
                  <asp:Calendar ID="Calender1" runat="server"></asp:Calendar>
                  <br />
                  <asp:Button  CommandArgument="0" CommandName="SwitchViewByIndex" ID="btnfirst"   runat="server" Text = "Go To Next" />
                  <asp:Button CommandName="PrevView" ID="btnprevious" runat="server" Text = "Go To Previous View" />
               </asp:View> 
               
            </asp:MultiView>
         </div>
         
      </form>
   </body>
</html>

MultiView.ActiveViewIndex  تعیین می کند کدام view نمایش داده شود. view انتخابی تنها view ای است که روی صفحه render (بارگذاری و نمایش داده) می شود. در صورتی که هیچ view ای نمایش داده نشود، مقدار پیش فرض ActiveViewIndex، -1 می باشد. از آنجایی که مقدار ActiveViewIndex در مثال مورد نظر 2 تعریف (مقداردهی) شده است، به هنگام اجرا، view سوم به نمایش گذاشته می شود.

multiview

در صورتی که سوال و یا نظری دارید، از بخش نظرات با ما در میان بگذارید.

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

شما چه نظر و یا سوالی درباره این نوشته دارید؟

مبحث آموزشی

آموزش ASP.Net

Learn ASP.Net

سرفصل ها

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

کلیک کنید و سوالات خود را از ما بپرسید
لطفا فرم سوال را پر کنید

سوال شما با موفقیت ثبت شد. برای اینکه بتوانیم به شما اطلاع رسانی کنیم، موارد زیر را وارد کنید:

لطفا چند لحظه منتظر بمانید ...