ÒÔÇ°Ôø¿´µ½¹ýÓÐÈËд³öÕâÑùµÄ²Ëµ¥£¬¿ÉÊÇ×Ô¼ºÈ´Ã»ÓÐÔ´´úÂ룬·Å¼ÙµÄʱºò£¬ÏÐ×ÅûÊ£¬¾Í×Ô¼ºÐ´ÁËÒ»¸ö£¬²¢°ÑËüÖÆ³ÉÁË·þÎñÆ÷¿Ø¼þ¡£ÕâÀïÎÒÓõ½ÁËÁù¸öÎļþ£¬µ±È»Äã¿ÉÒÔ°ÑijЩÎļþºÏ²¢£¬ÒÔ¼õÉÙñîºÏ£¬ÎÒµÄÓÃÒâÊǽ«¸÷ÖÖ²»Í¬µÄ´úÂë·ÖÀë¡£ÔÚдµÄ¹ý³ÌÖУ¬Óöµ½Á˺ܶàÎÊÌ⣬²»ÖªµÀ´ó¼ÒÓÖûÓÐÅöµ½¹ý£¬Ï£Íû¸÷λעÒâ¡£ºÃÁË£¬ÏÂÃæÇÐÈëÕýÌ⣡
1¡¢·þÎñÆ÷¿Ø¼þÖÆ×÷£º»ùÓÚXmlµÄÏÂÀ²Ëµ¥
xmlÎļþΪ£º
xsltÎļþΪ£ºÆäÖÐÒýÓÃÒ»¸ö½Å±¾ÎļþºÍÒ»¸öÑùʽ±íÎļþ
//×¢Ò⣺ÓÉ.NET×Ô¶¯²úÉúµÄxslÃüÃû¿Õ¼äÔÚÔËÐеÄʱºò»á²úÉú´íÎó£¬Ó¦½«ÃüÃû¿Õ¼ä¸ÄΪÉÏÃæËùʾ¡£
|
| |
|
JSÎļþ£º
document.write('');
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" %>

