第7章網(wǎng)站導(dǎo)航控件_第1頁(yè)
第7章網(wǎng)站導(dǎo)航控件_第2頁(yè)
第7章網(wǎng)站導(dǎo)航控件_第3頁(yè)
第7章網(wǎng)站導(dǎo)航控件_第4頁(yè)
第7章網(wǎng)站導(dǎo)航控件_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第7章站點(diǎn)導(dǎo)航控件對(duì)于較大型的網(wǎng)站,可以利用ASP.NET站點(diǎn)導(dǎo)航控件實(shí)現(xiàn)站點(diǎn)導(dǎo)航。站點(diǎn)導(dǎo)航的作用就像城市道路的路標(biāo),使用戶操作時(shí)清楚了解自已所處的位置。7.1ASP.NET站點(diǎn)導(dǎo)航概述7.1.1站點(diǎn)導(dǎo)航的功能

若要為網(wǎng)站創(chuàng)建一致的、容易管理的導(dǎo)航解決方案,可以使用ASP.NET站點(diǎn)導(dǎo)航。ASP.NET站點(diǎn)導(dǎo)航提供下列功能:站點(diǎn)地圖??梢允褂谜军c(diǎn)地圖描述站點(diǎn)的邏輯結(jié)構(gòu)。接著通過(guò)在添加或移除頁(yè)面時(shí)修改站點(diǎn)地圖(而不是修改所有網(wǎng)頁(yè)的超鏈接)來(lái)管理頁(yè)導(dǎo)航。ASP.NET導(dǎo)航控件??梢允褂肁SP.NET控件在網(wǎng)頁(yè)上顯示導(dǎo)航菜單。導(dǎo)航菜單以站點(diǎn)地圖為基礎(chǔ)。編程控件。可以以代碼方式使用ASP.NET站點(diǎn)導(dǎo)航,以創(chuàng)建自定義導(dǎo)航控件或修改在導(dǎo)航菜單中顯示的信息的位置。訪問(wèn)規(guī)則??梢耘渲糜糜谠趯?dǎo)航菜單中顯示或隱藏鏈接的訪問(wèn)規(guī)則。自定義站點(diǎn)地圖提供程序??梢詣?chuàng)建自定義站點(diǎn)地圖提供程序,以便使用自己的站點(diǎn)地圖后端(如存儲(chǔ)鏈接信息的數(shù)據(jù)庫(kù)),并將提供程序插入到ASP.NET站點(diǎn)導(dǎo)航系統(tǒng)。7.1.2站點(diǎn)導(dǎo)航的工作方式

通過(guò)ASP.NET站點(diǎn)導(dǎo)航,可以按層次結(jié)構(gòu)描述站點(diǎn)的布局。例如,一個(gè)大學(xué)網(wǎng)站共有11頁(yè),其布局如下:中華大學(xué) 院系設(shè)置 計(jì)算機(jī)學(xué)院 電子信息學(xué)院 數(shù)學(xué)學(xué)院 物理學(xué)院 職能部門 教務(wù)處 財(cái)務(wù)處 學(xué)生工作處 科技處7.1.3站點(diǎn)導(dǎo)航控件

創(chuàng)建一個(gè)反映站點(diǎn)結(jié)構(gòu)的站點(diǎn)地圖只完成了ASP.NET站點(diǎn)導(dǎo)航系統(tǒng)的一部分。導(dǎo)航系統(tǒng)的另一部分是在ASP.NET網(wǎng)頁(yè)中顯示導(dǎo)航結(jié)構(gòu),這樣用戶就可以在站點(diǎn)內(nèi)輕松地移動(dòng)。通過(guò)使用下列ASP.NET站點(diǎn)導(dǎo)航控件,可以輕松地在頁(yè)面中建立導(dǎo)航信息:TreeView:此控件顯示一個(gè)樹(shù)狀結(jié)構(gòu)或菜單,讓用戶可以遍歷訪問(wèn)站點(diǎn)中的不同頁(yè)面。單擊包含子節(jié)點(diǎn)的節(jié)點(diǎn)可將其展開(kāi)或折疊。Menu:此控件顯示一個(gè)可展開(kāi)的菜單,讓用戶可以遍歷訪問(wèn)站點(diǎn)中的不同頁(yè)面。將光標(biāo)懸停在菜單上時(shí),將展開(kāi)包含子節(jié)點(diǎn)的節(jié)點(diǎn)。SiteMapPath:此控件顯示導(dǎo)航路徑(也稱為面包屑或眉毛鏈接)向用戶顯示當(dāng)前頁(yè)面的位置,并以鏈接的形式顯示返回主頁(yè)的路徑。此控件提供了許多可供自定義鏈接的外觀的選項(xiàng)。7.2站點(diǎn)地圖

站點(diǎn)地圖是一種以.sitemap為擴(kuò)展名的標(biāo)準(zhǔn)XML文件,主要為站點(diǎn)導(dǎo)航控件提供站點(diǎn)層次結(jié)構(gòu)信息,默認(rèn)名為Web.sitemap。“添加新項(xiàng)”對(duì)話框web.sitemap站點(diǎn)地圖①②

站點(diǎn)地圖是一個(gè)標(biāo)準(zhǔn)XML文件。其中,第一個(gè)標(biāo)記用于標(biāo)識(shí)版本和編碼方式,siteMap是站點(diǎn)地圖根節(jié)點(diǎn)標(biāo)記,包含若干個(gè)siteMapNode子節(jié)點(diǎn),一個(gè)siteMapNode子節(jié)點(diǎn)下又可以包含若干個(gè)siteMapNode子節(jié)點(diǎn),構(gòu)成一種層次結(jié)構(gòu)。siteMapNode節(jié)點(diǎn)的常用屬性如下表所示:屬性說(shuō)明url設(shè)置用于節(jié)點(diǎn)導(dǎo)航的URL地址。在整個(gè)站點(diǎn)地圖文件中,該屬性必須唯一title設(shè)置節(jié)點(diǎn)名稱description設(shè)計(jì)節(jié)點(diǎn)說(shuō)明文字key定義當(dāng)前節(jié)點(diǎn)的關(guān)鍵字roles定義允許查找該站點(diǎn)地圖文件的角色集合,多個(gè)角色可用分號(hào)(;)或逗號(hào)(,)分隔Provider定義處理其他站點(diǎn)地圖文件的站點(diǎn)導(dǎo)航提供程序名稱,默認(rèn)為XmlSiteMapProvidersiteMapFile設(shè)置包含其他相關(guān)SiteMapNode元素的站點(diǎn)地圖文件7.3TreeView控件

TreeView控件又稱為樹(shù)形導(dǎo)航控件。它的顯示類似于一棵橫向的樹(shù),可以展開(kāi)或折疊樹(shù)的節(jié)點(diǎn)來(lái)分類查看、管理信息,非常直觀。一個(gè)TreeView控件一個(gè)節(jié)點(diǎn)可以同時(shí)是父節(jié)點(diǎn)和子節(jié)點(diǎn),但是不能同時(shí)為根節(jié)點(diǎn)、父節(jié)點(diǎn)和葉節(jié)點(diǎn)。節(jié)點(diǎn)為根節(jié)點(diǎn)、父節(jié)點(diǎn)還是葉節(jié)點(diǎn)決定著節(jié)點(diǎn)的幾種可視化屬性和行為屬性。包含其他節(jié)點(diǎn)的節(jié)點(diǎn)稱為父節(jié)點(diǎn)(ParentNode)。被其他節(jié)點(diǎn)包含的節(jié)點(diǎn)稱為子節(jié)點(diǎn)(ChildNode)。沒(méi)有子節(jié)點(diǎn)的節(jié)點(diǎn)稱為葉節(jié)點(diǎn)(LeafNode)。不被其他任何節(jié)點(diǎn)包含同時(shí)是所有其他節(jié)點(diǎn)的上級(jí)的節(jié)點(diǎn)是根節(jié)點(diǎn)(RootNode)。

TreeView控件由節(jié)點(diǎn)組成。樹(shù)中的每個(gè)項(xiàng)都稱為一個(gè)節(jié)點(diǎn),它由一個(gè)TreeNode對(duì)象表示。節(jié)點(diǎn)類型的定義如下:7.3.1TreeNode類

TreeView控件中一個(gè)節(jié)點(diǎn)就是一個(gè)TreeNode類對(duì)象。屬性說(shuō)明Checked獲取或設(shè)置一個(gè)值,該值指示節(jié)點(diǎn)的復(fù)選框是否被選中ChildNodes獲取TreeNodeCollection集合,該集合包含當(dāng)前節(jié)點(diǎn)的第一級(jí)子節(jié)點(diǎn)Depth獲取節(jié)點(diǎn)的深度Expanded獲取或設(shè)置一個(gè)值,該值指示是否展開(kāi)節(jié)點(diǎn)ImageToolTip獲取或設(shè)置在節(jié)點(diǎn)旁邊顯示的圖像的工具提示文本ImageUrl獲取或設(shè)置節(jié)點(diǎn)旁顯示的圖像的URLNavigateUrl獲取或設(shè)置單擊節(jié)點(diǎn)時(shí)導(dǎo)航到的URLParent獲取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)Selected獲取或設(shè)置一個(gè)值,該值指示是否選擇節(jié)點(diǎn)ShowCheckBox獲取或設(shè)置一個(gè)值,該值指示是否在節(jié)點(diǎn)旁顯示一個(gè)復(fù)選框Target獲取或設(shè)置用來(lái)顯示與節(jié)點(diǎn)關(guān)聯(lián)的網(wǎng)頁(yè)內(nèi)容的目標(biāo)窗口或框架Text獲取或設(shè)置為TreeView控件中的節(jié)點(diǎn)顯示的文本ToolTip獲取或設(shè)置節(jié)點(diǎn)的工具提示文本Value獲取或設(shè)置用于存儲(chǔ)有關(guān)節(jié)點(diǎn)的任何其他數(shù)據(jù)(如用于處理回發(fā)事件的數(shù)據(jù))的非顯示值ValuePath獲取從根節(jié)點(diǎn)到當(dāng)前節(jié)點(diǎn)的路徑方法說(shuō)明Collapse折疊當(dāng)前樹(shù)節(jié)點(diǎn)CollapseAll折疊當(dāng)前節(jié)點(diǎn)及其所有子節(jié)點(diǎn)Expand展開(kāi)當(dāng)前樹(shù)節(jié)點(diǎn)ExpandAll展開(kāi)當(dāng)前節(jié)點(diǎn)及其所有子節(jié)點(diǎn)Select選擇TreeView控件中的當(dāng)前節(jié)點(diǎn)ToggleExpandState切換節(jié)點(diǎn)的展開(kāi)和折疊狀態(tài)

TreeNode類提供了以下構(gòu)造函數(shù):publicTreeNode()publicTreeNode(stringtext)publicTreeNode(stringtext,stringvalue)publicTreeNode(stringtext,string

value,string

imageUrl)publicTreeNode(stringtext,string

value,string

imageUrl,string

navigateUrl,stringtarget)其中,參數(shù)text指定TreeView控件中的節(jié)點(diǎn)顯示的文本。value指定與節(jié)點(diǎn)關(guān)聯(lián)的補(bǔ)充數(shù)據(jù),如用于處理回發(fā)事件的數(shù)據(jù)。imageUrl指定節(jié)點(diǎn)旁顯示的圖像的URL。navigateUrl指定單擊節(jié)點(diǎn)時(shí)鏈接到的URL。target指定單擊節(jié)點(diǎn)時(shí)用來(lái)顯示鏈接到的網(wǎng)頁(yè)內(nèi)容的目標(biāo)窗口或框架。7.3.2TreeView控件的屬性、方法和事件1.TreeView控件的屬性(1)DataSourceID屬性該屬性指定TreeView控件的數(shù)據(jù)源控件的ID屬性。例如,可以指定與XML文件綁定的XmlDataSource控件或與站點(diǎn)地圖綁定的SiteDataSource控件的ID。(2)ExpandDepth屬性該屬性獲取或設(shè)置第一次顯示TreeView控件時(shí)所展開(kāi)的層次數(shù)。例如,若該屬性設(shè)為2,則將展開(kāi)根節(jié)點(diǎn)及根節(jié)點(diǎn)下方緊鄰的所有子節(jié)點(diǎn)。(3)SelectedNode屬性該屬性返回用戶從TreeView控件中選定的一個(gè)TreeNode對(duì)象。例如,以下語(yǔ)句在標(biāo)簽Label1中顯示選擇節(jié)點(diǎn)的文本:Label1.Text="選擇的節(jié)點(diǎn)是:"+TreeView1.SelectedNode.Text;(4)Nodes屬性

Nodes屬性是TreeView控件中所有節(jié)點(diǎn)的集合,一個(gè)節(jié)點(diǎn)是一個(gè)TreeNode對(duì)象??梢酝ㄟ^(guò)索引來(lái)表示Nodes集合中的元素(索引從零開(kāi)始),例如:

TreeView1.Nodes表示TreeView1控件的所有節(jié)點(diǎn)集合。TreeView1.Nodes[0]表示TreeView1控件中第一個(gè)根節(jié)點(diǎn)。TreeView1.Nodes[0].ChildNodes表示TreeView1控件中第一個(gè)根節(jié)點(diǎn)的子節(jié)點(diǎn)集合。TreeView1.Nodes[0].ChildNodes[1]表示TreeView1控件中第一個(gè)根節(jié)點(diǎn)的第2個(gè)子節(jié)點(diǎn)。2.TreeView控件的方法方法說(shuō)明ExpandAll打開(kāi)樹(shù)中的每個(gè)節(jié)點(diǎn)FindNode檢索TreeView控件中指定值路徑處的TreeNode對(duì)象3.TreeView控件的事件事件說(shuō)明SelectedNodeChanged當(dāng)選擇TreeView控件中的節(jié)點(diǎn)時(shí)發(fā)生TreeNodeCheckChanged當(dāng)TreeView控件中的復(fù)選框在向服務(wù)器的兩次發(fā)送過(guò)程之間狀態(tài)有所更改時(shí)發(fā)生。TreeNodeCollapsed當(dāng)折疊TreeView控件中的節(jié)點(diǎn)時(shí)發(fā)生TreeNodeDataBound當(dāng)數(shù)據(jù)項(xiàng)綁定到TreeView控件中的節(jié)點(diǎn)時(shí)發(fā)生TreeNodeExpanded當(dāng)擴(kuò)展TreeView控件中的節(jié)點(diǎn)時(shí)發(fā)生TreeNodePopulate當(dāng)其PopulateOnDemand屬性設(shè)置為true的節(jié)點(diǎn)在TreeView控件中展開(kāi)時(shí)發(fā)生7.3.3TreeNodeCollection類

TreeView控件中所有節(jié)點(diǎn)構(gòu)成一個(gè)TreeNodeCollection類對(duì)象,也就是說(shuō),TreeView控件的Nodes屬性就是一個(gè)TreeNodeCollection類對(duì)象。屬性說(shuō)明Count獲取TreeNodeCollection對(duì)象中的項(xiàng)數(shù)Item獲取TreeNodeCollection對(duì)象中指定索引處的TreeNode對(duì)象

TreeNodeCollection類的主要方法有Add、AddAt、Clear、Contains、IndexOf、Remove、RemoveAt。7.3.4向TreeView控件中添加節(jié)點(diǎn)的方法

向TreeView控件添加節(jié)點(diǎn)有以下幾種方法。1.手工方式添加節(jié)點(diǎn)2.通過(guò)DataSourceID屬性置數(shù)據(jù)源控件

ASP.NET提供了SiteMapDataSource和XmlDataSource兩個(gè)服務(wù)器控件,位于工具箱的“數(shù)據(jù)”選項(xiàng)卡中,用于ASP.NET站點(diǎn)導(dǎo)航。前者檢索站點(diǎn)地圖提供程序的導(dǎo)航數(shù)據(jù),后者檢索指定的XML文件的導(dǎo)航數(shù)據(jù),并將導(dǎo)航數(shù)據(jù)傳遞到可顯示該數(shù)據(jù)的控件(如TreeView和Menu控件)。3.通過(guò)編程方式添加節(jié)點(diǎn)

由于TreeView控件的Nodes屬性是一個(gè)TreeNodeCollection類對(duì)象,因此采用Add方法向其中添加TreeNode對(duì)象。這種方式在可以在運(yùn)行時(shí)動(dòng)態(tài)地增刪TreeView控件的節(jié)點(diǎn)。protectedvoidPage_Load(objectsender,EventArgse){ TreeView1.Nodes.Clear(); TreeNodenode=newTreeNode("中華大學(xué)"); TreeView1.Nodes.Add(node); node=newTreeNode("院系設(shè)置"); TreeView1.Nodes[0].ChildNodes.Add(node); node=newTreeNode("計(jì)算機(jī)學(xué)院"); TreeView1.Nodes[0].ChildNodes[0].ChildNodes.Add(node); node=newTreeNode("電子信息學(xué)院"); TreeView1.Nodes[0].ChildNodes[0].ChildNodes.Add(node); node=newTreeNode("數(shù)學(xué)學(xué)院"); TreeView1.Nodes[0].ChildNodes[0].ChildNodes.Add(node); node=newTreeNode("物理學(xué)院"); TreeView1.Nodes[0].ChildNodes[0].ChildNodes.Add(node); node=newTreeNode("職能部門"); TreeView1.Nodes[0].ChildNodes.Add(node); node=newTreeNode("教務(wù)處"); TreeView1.Nodes[0].ChildNodes[1].ChildNodes.Add(node); node=newTreeNode("財(cái)務(wù)處"); TreeView1.Nodes[0].ChildNodes[1].ChildNodes.Add(node); node=newTreeNode("學(xué)生工作處"); TreeView1.Nodes[0].ChildNodes[1].ChildNodes.Add(node); node=newTreeNode("科技處"); TreeView1.Nodes[0].ChildNodes[1].ChildNodes.Add(node);}運(yùn)行結(jié)果7.4Menu控件Menu控件又稱為菜單控件,在工具箱中的圖標(biāo)為。Menu控件主要用于創(chuàng)建一個(gè)菜單,讓用戶快速選擇不同頁(yè)面,從而完成導(dǎo)航功能。其使用方法與TreeView控件十分相似。Menu控件由菜單項(xiàng)(由MenuItem對(duì)象表示)樹(shù)組成。頂級(jí)(級(jí)別0)菜單項(xiàng)稱為根菜單項(xiàng)。具有父菜單項(xiàng)的菜單項(xiàng)稱為子菜單項(xiàng)。所有根菜單項(xiàng)都存儲(chǔ)在Items集合中。子菜單項(xiàng)存儲(chǔ)在父菜單項(xiàng)的ChildItems集合中。一個(gè)Menu控件7.4.1MenuItem類Menu控件中一個(gè)菜單項(xiàng)就是一個(gè)MenuItem類對(duì)象。TreeNode類提供了以下構(gòu)造函數(shù):publicMenuItem()publicMenuItem(stringtext)publicMenuItem(string

text,stringvalue)publicMenuItem(string

text,string

value,string

imageUrl)publicMenuItem(string

text,string

value,string

imageUrl,string

navigateUrl)publicMenuItem(string

text,string

value,string

imageUrl,string

navigateUrl,stringtarget)ChildItems獲取該對(duì)象包含當(dāng)前菜單項(xiàng)的子菜單項(xiàng)DataItem獲取綁定到菜單項(xiàng)的數(shù)據(jù)項(xiàng)DataPath獲取綁定到菜單項(xiàng)的數(shù)據(jù)的路徑Depth獲取菜單項(xiàng)的顯示級(jí)別ImageUrl獲取或設(shè)置顯示在菜單項(xiàng)文本旁邊的圖像的URLNavigateUrl獲取或設(shè)置單擊菜單項(xiàng)時(shí)要導(dǎo)航到的URLParent獲取當(dāng)前菜單項(xiàng)的父菜單項(xiàng)Selectable獲取或設(shè)置一個(gè)值,該值指示MenuItem對(duì)象是否可選或“可單擊”Selected獲取或設(shè)置一個(gè)值,該值指示Menu控件的當(dāng)前菜單項(xiàng)是否已被選中Target獲取或設(shè)置用來(lái)顯示菜單項(xiàng)的關(guān)聯(lián)網(wǎng)頁(yè)內(nèi)容的目標(biāo)窗口或框架Text獲取或設(shè)置Menu控件中顯示的菜單項(xiàng)文本ToolTip獲取或設(shè)置菜單項(xiàng)的工具提示文本Value獲取或設(shè)置一個(gè)非顯示值,該值用于存儲(chǔ)菜單項(xiàng)的任何其他數(shù)據(jù),如用于處理回發(fā)事件的數(shù)據(jù)表7.8MenuItem類的常用屬性及其說(shuō)明7.4.2Menu控件的屬性和事件屬性說(shuō)明DataSourceID設(shè)置數(shù)據(jù)源對(duì)象DisappearAfter獲取或設(shè)置鼠標(biāo)指針不再置于菜單上后顯示動(dòng)態(tài)菜單的持續(xù)時(shí)間Items獲取MenuItemCollection對(duì)象,該對(duì)象包含Menu控件中的所有菜單項(xiàng)ItemWrap獲取或設(shè)置一個(gè)值,該值指示菜單項(xiàng)的文本是否換行Orientation獲取或設(shè)置Menu控件的呈現(xiàn)方向PathSeparator獲取或設(shè)置用于分隔Menu控件的菜單項(xiàng)路徑的字符SelectedItem獲取選定的菜單項(xiàng)SelectedValue獲取選定菜單項(xiàng)的值StaticDisplayLevels獲取或設(shè)置靜態(tài)菜單的菜單顯示級(jí)別數(shù)Target獲取或設(shè)置用來(lái)顯示菜單項(xiàng)的關(guān)聯(lián)網(wǎng)頁(yè)內(nèi)容的目標(biāo)窗口或框架1.Menu控件的屬性(1)DataSourceID屬性該屬性指定Menu控件的數(shù)據(jù)源控件的ID屬性。例如,可以指定與XML文件綁定的XmlDataSource控件或與站點(diǎn)地圖綁定的SiteDataSource控件的ID。(2)Items屬性Items屬性是Menu控件中所有菜單項(xiàng)的集合,一個(gè)菜單項(xiàng)是一個(gè)MenuItem對(duì)象??梢酝ㄟ^(guò)索引來(lái)表示Items集合中的元素(索引從零開(kāi)始),例如:Menu1.Items表示Menu1控件的所有菜單項(xiàng)集合。Menu1.Items[0]表示Menu1控件中第一個(gè)菜單項(xiàng)。Menu1.Items[0].ChildItems表示Menu1控件中第一個(gè)菜單項(xiàng)的子菜單項(xiàng)集合。Menu1.Item[0].ChildItems[1]表示Menu1控件中第一個(gè)菜單項(xiàng)的第2個(gè)子菜單項(xiàng)。(3)Orientation屬性該屬性取或設(shè)置Menu控件的呈現(xiàn)方向,可取Horizontal(表示水平呈現(xiàn)Menu控件,如左圖所示)或Vertical(表示垂直呈現(xiàn)Menu控件,如右圖所示)。(4)Target屬性該屬性獲取或設(shè)置用來(lái)顯示菜單項(xiàng)的關(guān)聯(lián)網(wǎng)頁(yè)內(nèi)容的目標(biāo)窗口或框架。Target屬性影響控件中的所有菜單項(xiàng)。若要為單個(gè)菜單項(xiàng)指定一個(gè)窗口或框架,直接設(shè)置MenuItem對(duì)象的Target屬性。2.Menu控件的事件事件說(shuō)明MenuItemClick單擊菜單項(xiàng)時(shí)發(fā)生。此事件通常用于將頁(yè)上的一個(gè)Menu控件與另一個(gè)控件進(jìn)行同步MenuItemDataBound當(dāng)菜單項(xiàng)綁定到數(shù)據(jù)時(shí)發(fā)生。此事件通常用來(lái)在菜單項(xiàng)呈現(xiàn)在Menu控件中之前對(duì)菜單項(xiàng)進(jìn)行修改7.4.3MenuItemCollection類Menu控件中所有菜單項(xiàng)構(gòu)成一個(gè)MenuItemCollection類對(duì)象,即Menu控件的Items屬性就是一個(gè)MenuItemCollection類對(duì)象。屬性說(shuō)明Count獲取當(dāng)前MenuItemCollection對(duì)象所含菜單項(xiàng)的數(shù)目Item獲取當(dāng)前MenuItemCollection對(duì)象中指定索引處的MenuItem對(duì)象MenuItemCollection類的主要方法如下。(1)Add方法該方法用于向MenuItemCollection對(duì)象中添加一個(gè)MenuItem對(duì)象。其使用格式如下:

publicvoidAdd(MenuItemchild)其中,參數(shù)child指出要添加的MenuItem對(duì)象。(2)AddAt方法該方法用于向MenuItemCollection對(duì)象中指定位置添加一個(gè)MenuItem對(duì)象。其使用格式如下:

publicvoidAddAt(intindex,MenuItemchild)其中,參數(shù)index指出將在該處插入MenuItem對(duì)象的從零開(kāi)始的索引位置。child指出要添加的MenuItem對(duì)象。(3)Clear方法該方法用于從MenuItemCollection對(duì)象中移除所有MenuItem對(duì)象。其使用格式如下:

publicvoidClear()(4)Contains方法該方法指出MenuItemCollection對(duì)象中是否包含指定的MenuItem對(duì)象。其使用格式如下:

publicboolContains(MenuItemc)其中,參數(shù)c指出要查找的MenuItem對(duì)象。如果指定的MenuItem對(duì)象包含在MenuItemCollection對(duì)象中,則返回值為true;否則返回值為false。(5)IndexOf方法該方法查找指定的MenuItem對(duì)象在MenuItemCollection對(duì)象中的位置。其使用格式如下:publicintIndexOf(MenuItemvalue)其中,參數(shù)value指出要定位的MenuItem對(duì)象。如果找到MenuItemCollection中value的第一個(gè)匹配項(xiàng)的從零開(kāi)始的索引,則為該索引;否則為-1。(6)Remove方法該方法從MenuItemCollection對(duì)象中刪除指定的MenuItem對(duì)象。其使用格式如下:publicvoidRemove(MenuItemvalue)其中,參數(shù)value指出要移除的MenuItem對(duì)象。使用Remove方法可從集合中移除指定的節(jié)點(diǎn)。然后跟在該節(jié)點(diǎn)之后的所有項(xiàng)都將上移以填充空白位置,同時(shí)還會(huì)更新所移動(dòng)的項(xiàng)的索引。(7)RemoveAt方法該方法從MenuItemCollection對(duì)象中刪除指定位置處的MenuItem對(duì)象。其使用格式如下:

publicvoidRemoveAt(intindex)其中,參數(shù)index指出要移除的節(jié)點(diǎn)的從零開(kāi)始的索引位置。使用RemoveAt方法從MenuItemCollection中的指定的從零開(kāi)始的索引位置移除MenuItem對(duì)象。然后跟在該節(jié)點(diǎn)之后的所有項(xiàng)都將上移以填充空白位置。同時(shí)還會(huì)更新所移動(dòng)的項(xiàng)的索引。7.4.4向Menu控件中添加菜單項(xiàng)的方法向Menu控件添加菜單項(xiàng)有以下幾種方法。1.手工方式添加節(jié)點(diǎn)2.通過(guò)DataSourceID屬性置數(shù)據(jù)源控件3.通過(guò)編程方式添加節(jié)點(diǎn)

【例7.3】創(chuàng)建一個(gè)WebForm7-2網(wǎng)頁(yè),采用編程方式通過(guò)Menu控件顯示前面所列的大學(xué)網(wǎng)站層次結(jié)構(gòu)。

解:其設(shè)計(jì)步驟如下:①在Myaspnet網(wǎng)站的ch7文件夾中添加一個(gè)名稱為WebForm7-2的空網(wǎng)頁(yè)。②其設(shè)計(jì)界面如圖7.11所示,其中只包含一個(gè)Menu控件Menu1。在該網(wǎng)頁(yè)上設(shè)計(jì)如下事件過(guò)程:protectedvoidPage_Load(objectsender,EventArgse){ Menu1.Orientation=Orientation.Horizontal; Menu1.StaticDisplayLevels=2;//靜態(tài)顯示兩層 Menu1.Items.Clear(); MenuItemnode=newMenuItem("中華大學(xué)"); Menu1.Items.Add(node); node=newMenuItem("院系設(shè)置"); Menu1.Items[0].ChildItems.Add(node); node=newMenuItem("計(jì)算機(jī)學(xué)院"); Menu1.Items[0].ChildItems[0].ChildItems.Add(node); node=newMenuItem("電子信息學(xué)院"); Menu1.Items[0].ChildItems[0].ChildItems.Add(node); node=newMenuItem("數(shù)學(xué)學(xué)院"); Menu1.Items[0].ChildItems[0].ChildItems.Add(node); node=newMenuItem("物理學(xué)院"); Menu1.Items[0].ChildItems[0].ChildItems.Add(node); node=newMenuItem("職能部門"); Menu1.Items[0].ChildItems.Add(node); node=newMenuItem("教務(wù)處"); Menu1.Items[0].ChildItems[1].ChildItems.Add(node); node=newMenuItem("財(cái)務(wù)處"); Menu1.Items[0].ChildItems[1].ChildItems.Add(node); node=newMenuItem("學(xué)生工作處"); Menu1.Items[0].ChildItems[1].ChildItems.Add(node); node=newMenuItem("科技處"); Menu1.Items[0].ChildItems

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論