Dùng kĩ thuật này giúp cho việc tạo menu, đánh dấu vị trí của user hiện tại trong website dễ dàng hơn. Nhìn chung thì không có gì khó, nguồn tham khảo chính là MSDN thôi
Có 1 điểm cần lưu ý là để hiển thị nhiều "root node" thì tham khảo thuộc tính ShowStartingNode của SiteMapDataSource và bạn sẽ gặp rắc rối nếu dùng control SiteMapPath trong khi dùng thuộc tính ShowStartingNode trên (hiển thị nhiều "root node"). Cách giải quyết chuyện này là bắt sự kiện SiteMapResolve trong Global
Có 1 điểm cần lưu ý là để hiển thị nhiều "root node" thì tham khảo thuộc tính ShowStartingNode của SiteMapDataSource và bạn sẽ gặp rắc rối nếu dùng control SiteMapPath trong khi dùng thuộc tính ShowStartingNode trên (hiển thị nhiều "root node"). Cách giải quyết chuyện này là bắt sự kiện SiteMapResolve trong Global
1 void Application_Start(object sender, EventArgs e)
2 {
3 SiteMap.SiteMapResolve += new SiteMapResolveEventHandler(SiteMap_SMR);
4 }
5
6 SiteMapNode SiteMap_SMR(object s, SiteMapResolveEventArgs e)
7 {
8 SiteMapNode cn, tn;
9 cn = tn = SiteMap.CurrentNode.Clone(true);
10 while (cn.ParentNode != null && cn.ParentNode.ParentNode != null)
11 cn = cn.ParentNode;
12
13 cn.ParentNode = null;
14 return tn;
15 }
Powered by ScribeFire.
No comments:
Post a Comment