最近學習asp.net 2.0 multiview控制項的一點心得,原文發表在http://dev.yesky.com/msdn/30/2335530.shtml上,現轉回這裡
在asp.net 2.0中,增加了許多新的控制項和功能,大大方便了開發人員的開發。這次要講解的是在asp.net 2.0中新增的multiview控制項的使用。所謂multiview控制項,實際上是有點象在c/s開發中很常見的tabcontrol控制項,可以在一個頁面中,放置多個"view"(我們稱為選項卡),比如可以用multiview控制項,可以讓使用者在同一頁面中,通過切換到每個選項卡,從而看到要看的內容,而不用每次都重新開啟一個新的視窗。本文,將以visual studio .net 2005 為例,說明如何使用asp.net 2.0中的multiview控制項。
首先,開啟visual studio .net 2005,建立一個website,我們選用vb.net語言。然後,往web表單中拖拉一個menu控制項,這個menu控制項是負責控制各個選項卡的,也就是最終呈現在使用者面前的介面,並且我們指定每個選項卡的圖片樣式,代碼如下:
<asp:Menu ID="Menu1" Width="168px" runat="server" Orientation="Horizontal" StaticEnableDefaultPopOutImage="False" OnMenuItemClick="Menu1_MenuItemClick"> <Items> <asp:MenuItem ImageUrl="~/selectedtab.GIF" Text=" " Value="0"></asp:MenuItem> <asp:MenuItem ImageUrl="~/unselectedtab.GIF" Text=" " Value="1"></asp:MenuItem> <asp:MenuItem ImageUrl="~/unselectedtab.GIF" Text=" " Value="2"></asp:MenuItem> </Items> </asp:Menu> |
接著,拖拉一個multiview控制項到WEB表單中,放在剛才的menu控制項下,注意,multiview控制項中,分成很多個view選項卡,我們這裡為了方便,暫時設定為3個選項卡,並且在每一個選項卡中,都設計一個表格,在實際應用中,這個表格就是當使用者點選每個選項卡時顯示給使用者看的內容。代碼如下
<asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0" > <asp:View ID="Tab1" runat="server" > <table width="600" height="400" cellpadding=0 cellspacing=0> <tr valign="top"> <td class="TabArea" style="width: 600px"> TAB VIEW 1 INSERT YOUR CONENT IN HERE CHANGE SELECTED IMAGE URL AS NECESSARY </td> </tr> </table> </asp:View> <asp:View ID="Tab2" runat="server"> <table width="600px" height="400px" cellpadding=0 cellspacing=0> <tr valign="top"> <td class="TabArea" style="width: 600px">TAB VIEW 2 INSERT YOUR CONENT IN HERE CHANGE SELECTED IMAGE URL AS NECESSARY </td> </tr> </table> </asp:View> <asp:View ID="Tab3" runat="server"> <table width="600px" height="400px" cellpadding=0 cellspacing=0> <tr valign="top"> <td class="TabArea" style="width: 600px"> TAB VIEW 3 INSERT YOUR CONENT IN HERE CHANGE SELECTED IMAGE URL AS NECESSARY </td> </tr> </table> </asp:View> </asp:MultiView> |
最後,我們對menu的itemclick事件進行編寫代碼,在下面的代碼中,為了示範效果,我們設定了兩幅圖片,當使用者點選當前選項卡時,選項卡的圖片顯示出"selected tab"的圖案,而其他的兩個沒點選的則顯示灰色,代碼如下
Protected Sub Menu1_MenuItemClick(ByVal sender As Object, _ ByVal e As MenuEventArgs) Handles Menu1.MenuItemClick MultiView1.ActiveViewIndex = Int32.Parse(e.Item.Value) Dim i As Integer For i = 0 To Menu1.Items.Count - 1 If i = e.Item.Value Then Menu1.Items(i).ImageUrl = "selectedtab.gif" Else Menu1.Items(i).ImageUrl = "unselectedtab.gif" End If Next End Sub |