国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

基于XML的下拉菜單(源代碼)

基于XML的下拉菜單(源代碼)

更新時間:2022-04-29 文章作者:未知 信息來源:網絡 閱讀次數:

以前曾看到過有人寫出這樣的菜單,可是自己卻沒有源代碼,放假的時候,閑著沒事,就自己寫了一個,并把它制成了服務器控件。這里我用到了六個文件,當然你可以把某些文件合并,以減少耦合,我的用意是將各種不同的代碼分離。在寫的過程中,遇到了很多問題,不知道大家又沒有碰到過,希望各位注意。好了,下面切入正題!
1、服務器控件制作:基于Xml的下拉菜單
xml文件為:
<?xml version="1.0" encoding="utf-8" ?>
<!--
服務端控件 - 數據文件
基于Xml的下拉菜單
作者:Terry Li(Icefox)
日期:2003年2月2日Fab 2nd, 2003
-->
<NavMenu title="BenQ China">
<Category title="ETeam" id="btn1" menuitem="menu1" Down="ShowHide(btn1,menu1)" Over="MakeBtn(btn1)">
<MenuItem title="Link1" url="../ETeam/Default.aspx" />
<MenuItem title="Link2" url="../ETeam/Default.aspx" />
</Category>
<Category title="R1L-a" id="btn2" menuitem="menu2" Down="ShowHide(btn2,menu2)" Over="MakeBtn(btn2)">
<MenuItem title="Link3" url="../ETeam/Default.aspx" />
<MenuItem title="Link4" url="../ETeam/Default.aspx" />
<MenuItem title="Link5" url="../ETeam/Default.aspx" />
</Category>
<Category title="R1L-b" id="btn3" menuitem="menu3" Down="ShowHide(btn3,menu3)" Over="MakeBtn(btn3)">
<MenuItem title="Link6" url="../ETeam/Default.aspx" />
<MenuItem title="Link7" url="../ETeam/Default.aspx" />
<MenuItem title="Link8" url="../ETeam/Default.aspx" />
</Category>
</NavMenu>
xslt文件為:其中引用一個腳本文件和一個樣式表文件
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
//注意:由.NET自動產生的xsl命名空間在運行的時候會產生錯誤,應將命名空間改為上面所示。
<xsl:template match="/NavMenu">
<!--引用腳本文件和樣式文件-->
<link rel="stylesheet" href="Styles/NavMenu.css" />
<script language="JavaScript" src="Styles/NavMenu.js"></script>
<table width="150" border="0" onMouseOut="ClearMenu()">
<tr><td><xsl:value-of select="@title" /></td></tr>
<!—選取根菜單
<xsl:for-each select="Category">
<tr><td class="btnNormal"><!—讀取屬性
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
<xsl:attribute name="onMouseDown"><xsl:value-of select="@Down" /></xsl:attribute>
<xsl:attribute name="onMouseOver"><xsl:value-of select="@Over" /></xsl:attribute>
<font color="white"><xsl:value-of select="@title" /></font>
</td></tr>
<tr class="MenuHide">
<xsl:attribute name="id"><xsl:value-of select="@menuitem" /></xsl:attribute>
<td>
<table>
<!—選取子菜單
<xsl:for-each select="MenuItem">
<tr><td>
<a>
<xsl:attribute name="href">
<xsl:value-of select="@url" />
</xsl:attribute>
<xsl:value-of select="@title" />
</a>
</td></tr>
</xsl:for-each>

</td></tr>
</xsl:for-each>

</xsl:template>
</xsl:stylesheet>
JS文件:
document.write('<style type="text/css">');
if(window.screen.width < 1024)
document.write('body,table,select,input{font:13px "宋體"}');
else
document.write('body,table,select,input{font:14px "宋體"}');
document.write('</style>');

var ActiveMenu,ActiveBtn,SelectBtn;
ActiveMenu = null;
ActiveBtn = null;
SelectBtn = null;
function ShowHide(btn,menu)
{//check if click on button itself
if(ActiveMenu != null && ActiveMenu != menu)
ActiveMenu.className = "MenuHide";
if(SelectBtn != null && SelectBtn != btn)
SelectBtn.className = "btnNormal";
//make show/hide
if (menu.className == "MenuHide")
{
menu.className = "MenuShow";
btn.className = "btnDown";
ActiveMenu = menu;
SelectBtn = btn;
ActiveBtn = null;
}
else
{
menu.className = "MenuHide";
btn.className = "btnNormal";
ActiveMenu = null;
SelectBtn = null;
}
}
function ClearMenu()
{
if(ActiveBtn != null)
{
ActiveBtn.className = "BtnNormal";
ActiveBtn = null;
}
}
function MakeBtn(btn)
{
if(SelectBtn == btn) return;
if(ActiveBtn != null)
ActiveBtn.className = "BtnNormal";
btn.className = "BtnUp";
ActiveBtn = btn;
}
CSS文件:
A:link
{
COLOR: #ff9900;
TEXT-DECORATION:none
}
A:visited
{
COLOR: #cc6600;
TEXT-DECORATION: none
}
A:active
{
}
A:hover
{
COLOR: #cc6600;
TEXT-DECORATION: underline
}
.allbutton
{
}
.btnNormal {BACKGROUND-COLOR:#3366cc; BORDER-BOTTOM: 2px solid #000066; BORDER-LEFT: 1px solid
#33ccff; BORDER-RIGHT: 2px solid #000066; BORDER-TOP: 1px solid #33ccff; MARGIN-BOTTOM: 0px;
MARGIN-TOP: 0px; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px;cursor:hand;font: bold;}
.btnUp {BACKGROUND-COLOR: #3366cc; BORDER-BOTTOM: 1px solid #003399; BORDER-LEFT: 1px solid
#99ccff; BORDER-RIGHT: 1px solid #003399; BORDER-TOP: 1px solid #99ccff; MARGIN-BOTTOM: 1px;
MARGIN-TOP: 1px; PADDING-BOTTOM: 1px; PADDING-LEFT: 2px;cursor:hand; color : yellow;
font-style:normal; font-variant:normal; font-weight:bold }
.btnDown{BACKGROUND-COLOR: #3366cc; BORDER-BOTTOM: 1px solid #003399; BORDER-LEFT: 1px solid
#99ccff; BORDER-RIGHT: 1px solid #003399; BORDER-TOP: 1px solid #99ccff; MARGIN-BOTTOM: 1px;
MARGIN-TOP: 1px; PADDING-BOTTOM: 1px; PADDING-LEFT: 2px;cursor:hand; color : yellow;
font-style:normal; font-variant:normal; font-weight:bold }
.MenuHide {display:none}
.MenuShow {}
.SubMenuItem {background-color: #FFFFCC}
類文件:
using System;
using System.Web;
using System.Web.UI.HtmlControls;
using System.Web.UI;
using System.Xml;
using System.Xml.XPath;
using System.Xml.Xsl;
namespace Wrox.ThePhile.Web.Controls.Server{
public class Navigator: System.Web.UI.Control{
string transformFilePath;
string sourceFilePath;
public string TransformFile{
//屬性定義
get {return transformFilePath;}
set {transformFilePath = value;}}
public string SourceFile{
get {return sourceFilePath;}
set {sourceFilePath = value;}}
protected override void OnInit( EventArgs e ){
base.OnInit( e );}
//調用Render方法(System.Web.UI.Control的基本方法)聲稱代表控件的HTML。
protected override void Render( HtmlTextWriter writer ){
XPathDocument xdoc = new XPathDocument(Context.Server.MapPath(sourceFilePath));
//實例化XslTransform對象
XslTransform xslt = new XslTransform();
xslt.Load( Context.Server.MapPath( transformFilePath ) );
//將轉換結果輸出到HtmlTextWriter流
xslt.Transform( xdoc, null, writer );}}}
引用頁面的后臺編碼:
//下面代碼將自動生成
protected Wrox.ThePhile.Web.Controls.Server.Navigator MenuNav;
引用頁面的前臺編碼:注意,此處需引用該程序集,Assembly為引用程序集的名稱。
<%@Register TagPrefix="Wrox" Namespace="Wrox.ThePhile.Web.Controls.Server" Assembly="ThePhile" %>
<Wrox:Navigator id="MenuNav" SourceFile="Config/NavMenu.xml" TransformFile="Transforms/NavMenu.xslt" runat="server" />

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        青青草原综合久久大伊人精品| 日韩精品自拍偷拍| 91美女在线看| 国产精品免费免费| 91美女视频网站| 玉米视频成人免费看| 欧美日韩激情一区二区| 午夜视频在线观看一区二区三区 | 欧美一级日韩免费不卡| 免费成人美女在线观看.| 日韩欧美一二区| 国产风韵犹存在线视精品| 91网址在线看| 国产精品午夜免费| 欧美在线小视频| 另类欧美日韩国产在线| 国产欧美一区二区三区鸳鸯浴 | 久久99九九99精品| 国产精品久久一卡二卡| 欧美日韩免费在线视频| 国产在线不卡一区| 亚洲高清免费观看| 亚洲国产精品99久久久久久久久 | 国产精品午夜电影| 精品国产一区二区三区久久久蜜月| 免费一区二区视频| 国产精品美女久久久久aⅴ| 欧美日韩高清一区| 成人精品小蝌蚪| 日韩精品五月天| 国产精品久久久久影视| 51久久夜色精品国产麻豆| 国产xxx精品视频大全| 亚洲成人一区在线| 国产精品麻豆久久久| 日韩免费视频线观看| 色综合 综合色| 精品一区二区三区视频在线观看| 亚洲视频在线一区| 国产亚洲成年网址在线观看| 欧美日高清视频| 一本色道亚洲精品aⅴ| 国产一级精品在线| 免费高清成人在线| 亚洲妇女屁股眼交7| 91精品国产全国免费观看| 99视频精品全部免费在线| 免费成人美女在线观看.| 亚洲一本大道在线| 亚洲精品五月天| 中文字幕在线免费不卡| 国产亚洲短视频| 久久久欧美精品sm网站| 欧美不卡一区二区三区四区| 91麻豆精品国产91久久久久| 欧美区一区二区三区| 欧美日韩高清在线| 欧美一区二区三区四区五区| 欧美丰满少妇xxxxx高潮对白| 欧美日韩免费一区二区三区视频| 欧美日韩一区二区三区四区五区 | 老司机午夜精品| 久久精品国产在热久久| 狠狠色丁香婷婷综合| 国产一区欧美二区| 国产传媒一区在线| 懂色一区二区三区免费观看| 国产福利一区在线观看| 高清国产一区二区三区| 国产成人av福利| www.日韩大片| 欧美在线观看18| 日韩午夜电影在线观看| 精品国精品国产| 国产精品久久久久aaaa樱花| 一区av在线播放| 免费欧美日韩国产三级电影| 韩国理伦片一区二区三区在线播放| 国产精品亚洲一区二区三区妖精| 不卡在线观看av| 欧美精品免费视频| 久久久久久免费网| 五月婷婷综合激情| 国产精品中文字幕日韩精品| 91小视频免费观看| 欧美蜜桃一区二区三区| 久久伊人中文字幕| 亚洲欧美乱综合| 麻豆精品一区二区综合av| 成人免费视频一区二区| 欧美日本一道本在线视频| 国产视频一区在线观看| 亚洲成a人片在线不卡一二三区| 久久99精品久久只有精品| 99精品久久只有精品| 日韩一区二区免费在线观看| 国产精品久久久久三级| 日韩电影在线免费观看| 99久久精品免费观看| 欧美大片国产精品| 亚洲小说春色综合另类电影| 精品一区二区三区av| 日本精品一区二区三区四区的功能| 日韩午夜电影av| 一级中文字幕一区二区| 国产91清纯白嫩初高中在线观看| 欧美日韩三级视频| 1区2区3区国产精品| 国精品**一区二区三区在线蜜桃| 欧美午夜精品理论片a级按摩| 日本一区二区三区四区| 蜜臂av日日欢夜夜爽一区| 欧洲精品在线观看| 日韩一区欧美一区| 国产在线视频精品一区| 91精品国产福利| 亚洲成人黄色小说| 色菇凉天天综合网| 日韩伦理电影网| 成人av免费在线观看| 久久九九全国免费| 国产精品资源站在线| 欧美tickling网站挠脚心| 免费久久精品视频| 欧美剧在线免费观看网站| 一区二区三区免费在线观看| 成人一区二区三区视频在线观看| 精品对白一区国产伦| 麻豆精品一区二区综合av| 欧美一级在线免费| 久久不见久久见中文字幕免费| 91超碰这里只有精品国产| 亚洲第一福利一区| 欧美日韩国产高清一区二区| 亚洲电影你懂得| 欧洲av在线精品| 亚洲午夜久久久久久久久电影网| 色成年激情久久综合| 亚洲国产精品麻豆| 欧美精品一二三| 蜜桃视频第一区免费观看| 日韩丝袜情趣美女图片| 黄色成人免费在线| 国产精品网站一区| 一本大道久久a久久精品综合| 亚洲精品免费看| 在线播放日韩导航| 久久精品国产第一区二区三区| 精品精品国产高清一毛片一天堂| 国内精品写真在线观看| 欧美激情在线看| 欧美xfplay| 国产精品91一区二区| 成人欧美一区二区三区在线播放| 色婷婷综合久久久中文字幕| 亚洲一级二级三级| 欧美一级理论片| 高清在线观看日韩| 午夜欧美电影在线观看| 欧美xxx久久| 91丨九色丨蝌蚪丨老版| 偷拍与自拍一区| 久久夜色精品一区| 色综合欧美在线| 久久国产精品无码网站| 17c精品麻豆一区二区免费| 69久久99精品久久久久婷婷| 国产成人鲁色资源国产91色综| 亚洲色图另类专区| 欧美成人一区二区| 99久久综合99久久综合网站| 日韩在线卡一卡二| 国产精品超碰97尤物18| 日韩视频在线你懂得| 日本高清不卡视频| 国产福利一区二区三区| 亚洲18女电影在线观看| 欧美激情在线看| 欧美一区二区视频在线观看2022 | 成人中文字幕合集| 免费人成在线不卡| 亚洲欧美欧美一区二区三区| 337p粉嫩大胆色噜噜噜噜亚洲 | 欧美性猛片aaaaaaa做受| 精品在线播放免费| 亚洲成人动漫av| 自拍偷拍亚洲欧美日韩| 亚洲精品在线免费播放| 精品婷婷伊人一区三区三| 成人毛片视频在线观看| 激情综合网天天干| 日本91福利区| 亚洲成人资源在线| 一区二区三区日本| 国产精品久久久久9999吃药| 国产日产精品1区| 精品欧美乱码久久久久久1区2区| 欧美日韩一区二区欧美激情| 91网站在线观看视频| 91在线高清观看|