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()
{
//返回一个数字的代码
}