ASP.NET χάρτες του τόπου

ψήφοι
31

Υπάρχει κάποιος που έχει εμπειρία στη δημιουργία SQL με βάση το ASP.NET παρόχους site-map;

Έχω το προεπιλεγμένο αρχείο XML web.sitemapλειτουργεί σωστά με το μενού μου και SiteMapPath ελέγχους, αλλά θα χρειάζονται έναν τρόπο για τους χρήστες του site μου για να δημιουργήσετε και να τροποποιήσετε τις σελίδες δυναμικά.

Πρέπει να δέσουν τα δικαιώματα προβολής σελίδας στο πρότυπο ASP.NETσύστημα ένταξης, καθώς και.

Δημοσιεύθηκε 01/08/2008 στις 16:50
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
11

Η έκδοση Jeff Prosise από το περιοδικό MSDN λειτουργεί αρκετά καλά, αλλά έχει μερικά μειονεκτήματα:

AddNode freaks έξω με τις συνδέσεις με εξωτερικές σελίδες στο μενού σας (www.google.com, κλπ)

Εδώ είναι λύση μου σε BuildSiteMap():

SiteMapNode node = GetSiteMapNodeFromReader(reader);
string url = node.Url;
if (url.Contains(":"))
{
    string garbage = Guid.NewGuid().ToString();  // SiteMapNode needs unique URLs
    node.Url = "~/dummy_" + garbage + ".aspx";
    AddNode(node, _root);
    node.Url = url;
}
else
{
    AddNode(node, _root);
}

SQLDependencycaching είναι δροσερό, αλλά αν δεν θέλετε να κάνετε ένα ταξίδι με το κάθε φορά DB φορτία μενού (για να ελέγξετε για να δείτε αν η εξάρτηση έχει αλλάξει) και τα μενού σας δεν αλλάζουν πολύ συχνά, τότε γιατί να μην χρησιμοποιούν HttpRuntime.Cacheαντ 'αυτού;

public override SiteMapNode RootNode
{
    get
    {
        SiteMapNode temp = (SiteMapNode)HttpRuntime.Cache["SomeKeyName"];
        if (temp == null)
        {
            temp = BuildSiteMap();
            HttpRuntime.Cache.Insert("SomeKeyName", temp, null, DateTime.Now.AddHours(1), Cache.NoSlidingExpiration);
        }
        return temp;
    }
}
Απαντήθηκε 23/09/2008 στις 23:41
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more