Ngày gửi: 29/06/2009 lúc 3:50 chiều | Đã khóa IP
|
|
|
IV. Điều khiển hiển thị các trang khác nhau Điều
khiển MultiView cho phép bạn ẩn hoặc hiện các phần khác nhau của trang
Web, điều khiển này tiện ích khi bạn tạo một TabPage. Nó thực sự tiện ích khi bạn muốn chia 1 trang web có độ dài lớn thành các phần để hiển thị Điều khiển MultiView chứa đựng 1 hoặc nhiều điều khiển View, bạn sử dụng Multiview để lựa chọn các điều khiển View để trình bày. Điều khiển MultiView hỗ trợ các thuộc tính. · ActiveViewIndex: Lựa chọn điều khiển View được đưa ra hiển thị bằng chỉ số Index · Views: Cho phép bạn lấy về tập hợp các điều khiển View chứa đựng trong điều khiển MultiView. Điều khiển MultiView hỗ trợ hai phương thức. · GetActiveView: Cho phép lấy về thông tin của điều khiển View được lựa chọn. · SetActiveView: cho phép bạn thiết lập điều khiển View được hiên thị. · Và MultiView hỗ trợ sự kiện sau: · ActiveViewChanged: Xảy ra khi điều khiển View được lựa chọn Cách sử dụng - hiển thị như một TabPage
Khi bạn sử dụng MultiView kết hợp với điều khiển Menu bạn có thể tạo một TabPage Ví dụ sau sẽ hướng dẫn bạn tạo một TabPage từ 2 điều khiển Menu và MultiView Code 6a. <%@ Page Language="C#" %> <script runat="server"> void Menu1_MenuItemClick(object sender, MenuEventArgs e) { int index = Int32.Parse(e.Item.Value); MultiView1.ActiveViewIndex = index; } void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { MultiView1.ActiveViewIndex = 0; } } </script> <!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>Create a TabView</title> <style type="text/css"> html { background-color:silver; } .tabs { position:relative; top:1px; left:10px; } .tab { border:solid 1px black; background-color:#eeeeee; padding:2px 10px; } .selectedTab { background-color:white; border-bottom:solid 1px white; } .tabContents { border:solid 1px black; padding:10px; background-color:white; } </style> </head> <body> <form id="form1" runat="server"> <div> <asp:Menu ID="Menu1" OnMenuItemClick="Menu1_MenuItemClick" runat="server" Orientation="Horizontal" StaticMenuItemStyle-CssClass="tab" StaticSelectedStyle-CssClass="selectedTab" CssClass="tabs"> <Items> <asp:MenuItem Text="Tab 1" Value="0" Selected="true"></asp:MenuItem> <asp:MenuItem Text="Tab 2" Value="1"></asp:MenuItem> <asp:MenuItem Text="Tab 3" Value="2"></asp:MenuItem> </Items> </asp:Menu> <div class="tabContents"> <asp:MultiView ID="MultiView1" runat="server"> <asp:View ID="view1" runat="server"> Day la View 1<br /> Day la View 1<br /> Day la View 1<br /> Day la View 1<br /> Day la View 1<br /> Day la View 1<br /> </asp:View> <asp:View ID="view2" runat="server"> Day la View 2<br /> Day la View 2<br /> Day la View 2<br /> Day la View 2<br /> Day la View 2<br /> Day la View 2<br /> </asp:View> <asp:View ID="view3" runat="server"> Day la View 3<br /> Day la View 3<br /> Day la View 3<br /> Day la View 3<br /> Day la View 3<br /> Day la View 3<br /> </asp:View> </asp:MultiView> </div> </div> </form> </body> </html> Trong ví dụ trên Menu được kết hợp với CSS để tạo ra các trạng thái khi MenuItem được chọn(StaticSelectedStyle-CssClass="selectedTab") và ko được chọn(StaticMenuItemStyle-CssClass="tab"). - Hiển thị nhiều phần trên trang.
Bạn
có thể chia một Form có độ dài lớn thành các thành phần nhỏ hơn và hiển
thị từng phần, bạn có thể sử dụng các điều khiển Button nằm trong điều
khiển MultiView và khi Button được nhấn thì Multiview sẽ xử lý thay đổi
hiển thị View khác. Điều khiển MultiView hỗ trợ các điều khiển lệnh sau: - NextView: MultiView sẽ kích hoạt điều khiển View tiếp theo
- PrevView: MultiView sẽ kích hoật điều khiển View trước đó
- SwitchViewByID: MultiView sẽ kích hoạt View chỉ định bởi đối số của điều khiển Button
- SwitchViewByIndex: MultiView sẽ kích hoạt View chỉ định bởi đối số của điều khiển Button
Bạn có thể sử dụng các điều khiển lệnh như Button, ImageButton, LinkButton. Và
thiết lập thuộc tính CommandName, với trường hợp điều khiển lệnh là
SwitchViewByID và SwitchViewByIndex bạn thiết lập thêm thuộc tính
CommandArgument. Ví dụ sau sẽ hướng dẫn bạn tạo một Form có nhiều phần với việc sử dụng điều khiển lệnh NextView. Code 7. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="MultipartView.aspx.cs" Inherits="MiltipartView" %> <script runat="server"> void View3_Active(object sender, EventArgs e) { lblRHoten.Text = txtHoten.Text; lblRCMT.Text = txtCMT.Text; } </script> <!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>MultiPart View</title> </head> <body> <form id="form1" runat="server"> <div> <asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0"> <asp:View ID="View1" runat="server"> <asp:Label ID="lblHoten" runat="server" Text="Nhập họ tên"></asp:Label> <asp:TextBox ID="txtHoten" runat="server" Width="198px"></asp:TextBox><br /> <asp:Button ID="btnNext1" runat="server" CommandName="NextView" Text="Next" Width="98px" /></asp:View> <asp:View ID="View2" runat="server"> <asp:Label ID="lblCMT" runat="server" Text="Nhập số CMT"></asp:Label> <asp:TextBox ID="txtCMT" runat="server"></asp:TextBox> <br /> <asp:Button ID="btnNext2" runat="server" CommandName="NextView" Text="Next" Width="99px" /></asp:View> <asp:View ID="View3" OnActivate="View3_Active" runat="server"> <asp:Label ID="Label1" runat="server" Text="Họ tên:"></asp:Label> <asp:Label ID="lblRHoten" runat="server" Text="Label"></asp:Label><br /> <asp:Label ID="Label2" runat="server" Text="Số CMT:"></asp:Label> <asp:Label ID="lblRCMT" runat="server" Text="Label"></asp:Label></asp:View> </asp:MultiView></div> </form> </body> </html> Trong
ví dụ trên 2 button đầu thiết lập thuộc tính CommandName có giá trị là
NextView, do điều khiển MultiView hỗ trợ lệnh NextView lên khi nhấn vào
2 Button đó thì lệnh NextView được thực hiện và kích hoạt View tiếp
theo đền View 3 với sự kiện OnActive gọi hàm View3_Active và thực hiện
lấy về giá trị của hai TextBox và gán vào 2 Label tương ứng. V. Hiển thị với điều khiển Wizard Điều khiển Wizard giống với điều khiển MultiView có thể dùng để chia một Form lớn thành nhiều phần nhỏ. Tuy nhiên nó sẽ có thêm một số thuộc tính mà MultiView không hỗ trợ. điều khiển Wizard có thể chứa nhiều điều khiển WizardStep con, nhưng chỉ 1 WirardStep được hiển thị tại 1 thời điểm. Các thuộc tính. - ActiveStep: cho phép bạn lấy thông tin của WizardStep đang kích hoạt
- ActiveStepIndex: cho phép bạn gán hoặc lấy về chỉ số Index của WizardStep đang kích hoạt
- CancelDestinationPageUrl: cho phép bạn chỉ rõ địa chỉ URL được gửi tới khi người sử dụng nhấn nút Cancel
- DisplayCancelButton: Cho phép ẩn hoặc hiện Cancel Button.
- DisplaySlideBar: Cho phép ẩn hoặc hiện SlideBar(hiển thị tất cả các WizardStep)
- FinishDestinationPageUrl: cho phép bạn chỉ định địa chỉ URL được gửi tới khi người dùng nhấn nút Finish
- HeaderText: cho phép bạn chỉ định tiêu đề hiển thị trên đỉnh của điều khiển Wizard.
- WizadSteps: Cho phép bạn lấy thông tin của các điều khiển WizardStep trong điều khiển Wizard
- Điều khiển Wizard hỗ trợ các Template.
- FinishNavigationTemplate: cho phép hiển thị Navigation ở bước kết thúc
- HeaderTemplate: hiển thị thanh tiêu đề ở đầu của điều khiển Wizard
- SlideBarTemplate: Cho phép hiển thị SlideBar trong điều khiển Wizard
- StartNavigationTemplate: Cho phép hiển thị Navigation ở bước bắt đầu
- StepNavigationTemplate: cho phép hiển thị Navigation ở các bước à không phải bước bắt đầu và kết thúc.
Điều khiển Wizard hỗ trợ các phương thức: - GetHistory(): cho phép lấy thông tin của các điều khiển Wizard mà đã truy cập.
- GetStepType():
Cho phép bạn trả về kiểu của mỗi WizardStep riêng theo chỉ số, nó có
thể là các thuộc tính sau: Auto, Start, Finish hay Step
- MoveTo(): cho phép bạn di chuyển đến một WizardStep.
Điều khiển Wizard hỗ trợ các sự kiện: - ActiveStepChanged: xảy ra khi một WizardStep trở thành Step được kích hoạt
- CancelButtonClick: xảy ra khi Cancel Button được nhấn.
- FinishButtonClick: xảy ra khi Finish Button được nhấn
- NextButtonClick: Xảy ra khi Next button được nhấn
- PreviousButtonClick: xảy ra khi Previous button được nhấn
- SlideBarButtonClick: xẩy ra khi SlideBar button được nhấn:
Một điều khiển Wizard chứa đựng một hoặc nhiều WizardStep để diễn tả các bước strong quá trình Wizard. Các WizardStep hỗ trợ các thuộc tính: - AllowReturn: Ngăn cản hay cho phép người sử dụng trả về bước này từ một bước khác.
- Name: tên của điều khiển WirardStep
- StepType:Cho phép bạn gán hay lấy về kiểu của WirardStep nó có thể là các giá trị sau: Auto, Finish, Start, Complete và Step.
- Title: lấy về hoặc gán tiêu đề của điều khiển WizardStep tiêu đề này được hiển thị ở Wizard Slidebar
- Wizard: cho phép bạn lấy thông tin điều khiển Wizard chứa trong WizardStep.
- Các Sự kiện trong WizardStep
- Activate: Xảy ra khi một WizardStep được kích hoạt
- DeActivate: xảy ra khi WizardStep khác được kích hoạt.
StepType là thuộc tính quan trọng nhất của Wizard, thuộc tính nào xác định WizardStep được đưa ra như thế nào, mặc định là Auto Ví dụ: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="WirardControl.aspx.cs" Inherits="_Default" %> <script runat="server"> void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e) { lblbiet.Text = txt1.Text; lblkhoahoc.Text = txt2.Text; } </script> <!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>Wizard </title> <style type="text/css"> .wizard{border:solid 1px black;font:14px Verdana,width:800px;height:300px;} .header{color:gray;font:bold 18px Verdana,} .sideBar{background-color:#eeeeee;padding-left:10px;width:200px; height:23px;} .sideBar a{text-decoration:none;} .step{padding:10px;} </style> </head> <body> <form id="form1" runat="server"> <div> <asp:Wizard ID="Wizard1" HeaderText="Wizard control" OnFinishButtonClick="Wizard1_FinishButtonClick" CssClass="wizard" Width="800px" HeaderStyle-CssClass="header" SideBarButtonStyle-CssClass="sideBar" SideBarStyle-Width="200px" SideBarButtonStyle-Width="200px" StepStyle-CssClass="step" runat="server"> <StepStyle CssClass="step"></StepStyle> <WizardSteps> <asp:WizardStep ID="WizardStep1" runat="server" title="Lời giới thiệu"> <asp:Label ID="Label1" runat="server" Text="Chào mừng bạn đến với trung tâm công nghệ cao iTechPRo"></asp:Label> </asp:WizardStep> <asp:WizardStep ID="WizardStep2" runat="server" title="step 1"> <asp:Label ID="Label2" runat="server" Text="Bạn biêt đến iTechPro qua phương tiện nào"></asp:Label> <br /> <asp:TextBox ID="txt1" runat="server"></asp:TextBox> </asp:WizardStep> <asp:WizardStep ID="WizardStep3" runat="server" StepType="Finish" title="step 2"> <asp:Label ID="Label3" runat="server" Text="Bạn thích khoá học nào nhất ở iTechPro"></asp:Label> <asp:TextBox ID="txt2" runat="server"></asp:TextBox> </asp:WizardStep> <asp:WizardStep ID="WizardStep4" runat="server" StepType="Complete" title="Tổng kết"> <asp:Label ID="Label4" runat="server" Text="Bạn biết đến iTechPro qua:"></asp:Label> <asp:Label ID="lblbiet" runat="server" Text=""></asp:Label><br /> <asp:Label ID="Label5" runat="server" Text="Bạn thích nhất khoá học:"></asp:Label> <asp:Label ID="lblkhoahoc" runat="server" Text=""></asp:Label> </asp:WizardStep> </WizardSteps> </asp:Wizard> </div> </form> </body> </html> Giải thích ví dụ: Trên ví dụ ta đưa vào 4 WizardStep, chương trình sẽ thực hiện trình tự theo các bước và kết thúc với việc nhấn nút Finish ở WizardStep3(được
thiết lập thuộc tính StepType=’Finish’) thông qua hàm
“Wizard1_FinishButtonClick” sau khi thực hiện hàm này nó sẽ chuyến sang
và hiển thị nội dung công việc cần thực hiên thông 2 điều khiển label
trên WizardStep4 và điều khiển này được thiết lập thuộc tính
StepType=”Complete”.
__________________
YM: DUCVINH83
0912 822334
|