protected voidPage_Load(object sender, EventArgs e)

{

//首先我在这里注册一个事件,也就是说在访问CurrentNode属性的时候触法这个事件

SiteMap.SiteMapResolve += new SiteMapResolveEventHandler(SiteMap_SiteMapResolve);

}

SiteMapNode SiteMap_SiteMapResolve(object sender,SiteMapResolveEventArgs e)

{

//我们自定义的处理方法


//获取并创建当前节点的副本,并同时复制他的上级节点

SiteMapNode CurrentNode =SiteMap.CurrentNode.Clone(true);

SiteMapNode TempNode = CurrentNode;

int id = nid();

int page = npage();

//从下面的方法中得到变量

if (id>0)

{

TempNode.Url = TempNode.Url + "?id=" + id.ToString();


}

if (id>0 &&page>=0)

{

TempNode.Url = TempNode.Url + "&page=" +page.ToString();



}

else if (page>=0)

{

TempNode.Url= TempNode.Url + "?page=" + page.ToString();


}

return TempNode;



}

private int nid()

{

          //返回一个数字的代码

}

private int npage()

{

//返回一个数字的代码

}