有关动态修改SiteMap的困惑

前段时间在项目中使用了SiteMapPath控件,发现挺方便的,于是,就想着用在另一个项目中,但上次只是静态的,这回想来些变化,做些动态的应用,网上找到这样一个方法:

    private SiteMapNode ModifyPath(Object sender, SiteMapResolveEventArgs e)
    {
        SiteMapNode currentNode = SiteMap.CurrentNode.Clone(true);
        SiteMapNode modifyNode = currentNode;
        modifyNode = currentNode.ParentNode;
        if (modifyNode != null)
        {
            modifyNode.Url = "~/v/magazine.aspx?id=" + ViewState["pid"].ToString();
        }
        return currentNode;
    }

还需要在Page_load 中注册事件:SiteMap.SiteMapResolve += new SiteMapResolveEventHandler(this.ModifyPath);

完成这些工作后,一运行,确实看到了想要的结果,但是在点击了几个页面后,却发现有些乱了,无论链接还是文字显示都有些不对。一个网友说,可能是SiteMap应用了缓存技术造成,我觉得有道理。但是,我不知该如何去年其缓存,或者去掉缓存对系统的性能会有多大的影响?

因为这个问题我实在想不出解决的办法,最后只好放弃了动起来的念头,还是用回静态。如果您对此有比较好的解决办法,请多指教!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客行天下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值