首页|操作系统|软件开发|网页制作|媒体动画|数据库|ASP教程|ASP.NET教程|PHP教程|JSP教程|XML教程|建站资料|软件学院|行业资讯|平面设计|网络安全|晒IT论坛|IT人才
  位置: 晒IT >> XML教程 >> XML与ASP.NET >> 正文
 
 
基于XML的下拉菜单(源代码)
基于XML的下拉菜单(源代码)
 
 
以前曾看到过有人写出这样的菜单,可是自己却没有源代码,放假的时候,闲着没事,就自己写了一个,并把它制成了服务器控件。这里我用到了六个文件,当然你可以把某些文件合并,以减少耦合,我的用意是将各种不同的代码分离。在写的过程中,遇到了很多问题,不知道大家又没有碰到过,希望各位注意。好了,下面切入正题!

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">
[1] [2]  下一页
  • 上一篇: 用asp.net和xml做的新闻更新系统(1)
  • 下一篇: 另一篇:用XMLHTTP Post/Get HTML页面时的中文乱码问题之完全Script解决方案
  •  告诉好友  打印此文 关闭窗口 返回顶部
     
    热点文章
     
     
    推荐文章
     
     
    相关文章

    | 设为首页 | 加入收藏 | 联系我们 | 友情链接 | 诚聘英才 |
    Copyright© 2008 ShaiIT.Com .All Rights Reserved
    下载alexa工具,提升您的网站排名