• 21-01-2009, 09:37:09
    #1
    Arkadaşlar yapmak istediğim; Kullanıcı sisteme login olduktan sonra ThreeViewde ona yetkisince gösterim yapabilmek.

    Bir nevi Admin paneli gibi düşünebilirsiniz ama kategoriler threeview ile gösterildiği için kullanıcı yetkilerince threeviewde kategoriyi ve içeriği görüp değişiklik v.b. yapabilecek.
  • 21-01-2009, 10:27:19
    #2
    bunu ThreeView değilde daha basit bir şekilde yapabilrsin

    Örneğin;

    Üyelik tablosunda yetki diye bir sütun açarsın ve buna 1. yetki 2. yetki diye atama yaparsın(tabi daha fazla atama yapmak isterseniz onuda yapabilirsiniz.)
    Atama işlemlerini yaptıktan sonra kişi login oldumu, kişinin yetki tablosunda ki değeri sayfaya aktarıp if komutuyla şartlı sayfaya yansıtırsınız ve bu şekilde de kişi yetkisi ne ise onu görür, diğerlerini göremez...
  • 21-01-2009, 12:13:24
    #4
    treeview i database bağlamak ile ilgili dokuman
    Untitled Page da var burda sadece piyasada olmayan makaleler var o yüzden makale sayısı az..
  • 21-01-2009, 14:20:38
    #5
    Arkadaşlat teşekkürler. Yaptım.. Ama biraz değişik oldu. Görebiliyorlar tüm treeview sablonunu ama tıklayamıyorlar.
  • 21-01-2009, 14:40:40
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    TreeView i doldurduğun tablo da kullanıcı yetkileriyle ilgili bir kolon eklersen çok daha basit olacaktır.
    --------------
    protected void BuildPages()
    {
    Treeview1.Nodes.Clear();
    using (TekasoftContextDataContext pc = new TekasoftContextDataContext())
    {
    var mainc = pc.Select_MainNode();
    foreach (var nod in mainc)
    {
    var ps = pc.BannerLists.Count(p => p.PageGuid == nod.ID.ToString()); // Burayı kullanıcı Yetkisine göre doldurabiliriz.
    TreeNode mainNode = new TreeNode
    mainNode.Text = nod.MenuName + "(" + ps.ToString() + ")";
    mainNode.Value = nod.ID.ToString();
    mainNode.Attributes.Add("Treetext", nod.MenuName.ToString());
    mainNode.Attributes.Add("NavUrl", nod.Name.ToString());
    mainNode.Expanded = true;
    getChild(mainNode, mainNode.Value.ToString());
    Treeview1.Nodes.Add(mainNode);
    }
    }
    }
    protected void getChild(TreeNode mainNode, string parentId)
    {
    using (TekasoftContextDataContext pc = new TekasoftContextDataContext())
    {
    var mainc = pc.Select_ChildPages(parentId);
    foreach (var nod in mainc)
    {
    var ps = pc.BannerLists.Count(p => p.PageGuid == nod.ID.ToString()); // Burayı kullanıcı Yetkisine göre doldurabiliriz.
    TreeNode childNode = new TreeNode();
    childNode.Text = nod.MenuName + "(" + ps.ToString() + ")";
    childNode.Value = nod.ID.ToString();
    childNode.Attributes.Add("Treetext", nod.MenuName.ToString());
    childNode.Attributes.Add("NavUrl", nod.Name.ToString());
    childNode.Expanded = true;
    getChild(childNode, childNode.Value.ToString());
    mainNode.Nodes.Add(childNode);
    }
    }
    }
    -----------
    BuildPages(); Page_load a yuarıda belirttiğim yere de kullanıcıların yetki Id lerine göre çekerek işi rahatlıkla halledebilirsin