国产午夜成人免费看片无遮挡_日本免费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精品国产综合久久久久久 | 日韩女优视频免费观看| 成人欧美一区二区三区| 99国产精品久久久久久久久久久| 中文字幕中文字幕一区二区| 成人免费不卡视频| 一区二区三区产品免费精品久久75 | 欧美精品乱码久久久久久按摩 | 欧美日韩一级大片网址| 亚洲综合色成人| 欧美一区二区视频观看视频| 蜜臀a∨国产成人精品| 精品国产1区二区| 99精品国产一区二区三区不卡| 亚洲妇女屁股眼交7| 精品日韩成人av| jlzzjlzz国产精品久久| 午夜影院在线观看欧美| 久久精品一区二区三区av| 97国产精品videossex| 久久机这里只有精品| 亚洲免费看黄网站| 337p粉嫩大胆噜噜噜噜噜91av | 成人一区二区视频| 亚洲在线中文字幕| 26uuu亚洲| 91麻豆精品国产91久久久久久| 国产高清在线精品| 日韩av一区二区三区| 国产精品免费看片| 日韩免费电影一区| 一本一本大道香蕉久在线精品| 捆绑调教美女网站视频一区| 日韩美女啊v在线免费观看| 日韩欧美一区二区视频| 色成人在线视频| 国产99久久久国产精品潘金| 麻豆91在线播放| 亚洲国产婷婷综合在线精品| 国产精品理论片| 久久五月婷婷丁香社区| 欧美日韩三级一区二区| 91亚洲精华国产精华精华液| 国产伦精品一区二区三区在线观看| 亚瑟在线精品视频| 亚洲一区日韩精品中文字幕| 自拍偷拍亚洲激情| 国产精品嫩草影院av蜜臀| 欧美电影免费观看高清完整版在 | 欧美在线免费视屏| 91啪在线观看| 白白色 亚洲乱淫| 成人性生交大片免费看视频在线 | 福利视频网站一区二区三区| 精品在线一区二区三区| 麻豆精品国产传媒mv男同| 日韩高清一区在线| 日韩成人精品在线观看| 日韩精品一二三区| 午夜一区二区三区在线观看| 一区二区日韩电影| 亚洲国产aⅴ成人精品无吗| 一区二区三区四区中文字幕| 亚洲欧美日韩国产中文在线| 综合亚洲深深色噜噜狠狠网站| 国产精品婷婷午夜在线观看| 国产精品福利在线播放| 亚洲欧美一区二区三区极速播放| 自拍偷拍国产亚洲| 亚洲国产精品一区二区www在线 | 国产成人免费在线观看不卡| 久久99精品国产.久久久久久| 精品制服美女丁香| 欧美色区777第一页| 欧美熟乱第一页| 91精品国产福利| xf在线a精品一区二区视频网站| 久久中文娱乐网| 中文字幕亚洲视频| 午夜精品一区二区三区三上悠亚| 日韩二区在线观看| 精品一区二区三区久久| 极品销魂美女一区二区三区| 国产白丝网站精品污在线入口| 99综合电影在线视频| 欧美三级电影一区| 久久久.com| 亚洲激情在线播放| 日产欧产美韩系列久久99| 国内成+人亚洲+欧美+综合在线| 麻豆精品一区二区三区| 国产精品资源在线看| 色综合久久久久综合体 | 在线观看日韩av先锋影音电影院| 欧美色电影在线| 精品成人在线观看| 国产精品福利在线播放| 日韩av中文在线观看| 99这里只有久久精品视频| 欧美男同性恋视频网站| 国产欧美精品在线观看| 婷婷成人综合网| 中文字幕精品一区| 日韩综合在线视频| 97国产一区二区| 日韩免费观看高清完整版| 亚洲综合色噜噜狠狠| 国产精品99久久久久久久女警 | 欧美日韩mp4| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 久久午夜国产精品| 亚洲电影视频在线| 色婷婷综合五月| 久久久久久影视| 日本大胆欧美人术艺术动态| 在线观看一区二区视频| 国产精品毛片a∨一区二区三区| 亚洲一区视频在线观看视频| jlzzjlzz亚洲女人18| 久久综合久久综合九色| 天堂久久一区二区三区| av中文字幕一区| 久久色在线视频| 日本91福利区| 欧美日韩久久不卡| 亚洲国产综合色| 欧美在线观看视频一区二区| 国产精品国产三级国产a| 国产精品一区二区免费不卡| 精品99一区二区| 免费观看一级特黄欧美大片| 在线亚洲人成电影网站色www| 自拍视频在线观看一区二区| 国产激情一区二区三区桃花岛亚洲| 日韩欧美久久一区| 麻豆视频一区二区| 日韩欧美久久久| 奇米精品一区二区三区在线观看一| 欧美日韩高清一区| 日韩电影网1区2区| 日韩一级在线观看| 狂野欧美性猛交blacked| 欧美mv日韩mv| 国产传媒一区在线| 国产精品国产a| 欧美色综合久久| 日韩国产精品91| 2021久久国产精品不只是精品| 国内精品伊人久久久久av影院| 2020国产精品自拍| 成人av网站大全| 亚洲图片欧美色图| 精品国产乱码久久久久久夜甘婷婷| 久久狠狠亚洲综合| 国产精品高清亚洲| 欧美日韩成人一区二区| 国产专区欧美精品| 亚洲欧美成aⅴ人在线观看| 色8久久精品久久久久久蜜| 亚洲午夜免费电影| 日韩一二在线观看| 国产凹凸在线观看一区二区| 亚洲欧洲三级电影| 欧美高清视频在线高清观看mv色露露十八| 日韩精品一级中文字幕精品视频免费观看 | 亚洲摸摸操操av| 欧美一级精品在线| 成人avav在线| 丝袜美腿成人在线| 中文字幕不卡三区| 欧美日韩国产电影| 国产精品一区二区久久不卡| 亚洲综合精品自拍| 日本一区二区免费在线| 欧美色精品在线视频| 国产精品99久| 亚洲国产成人av好男人在线观看| 久久―日本道色综合久久| 在线观看亚洲a| 国产剧情在线观看一区二区| 亚洲二区在线观看| 中文字幕欧美一| 久久综合给合久久狠狠狠97色69| 91看片淫黄大片一级| 久久国产福利国产秒拍| 一区二区三区在线视频免费| 精品国产乱码久久久久久久久| 欧洲av一区二区嗯嗯嗯啊| 国产成人精品免费在线| 免费高清在线视频一区·| 一区二区三区日韩在线观看| 国产日韩欧美在线一区| 日韩视频永久免费| 欧美精品三级在线观看| 色欧美乱欧美15图片| 成人网男人的天堂| 精品一区二区三区在线播放| 日韩黄色小视频| 亚洲成人免费在线观看| 一区二区三区不卡视频在线观看 |