Mapy stránek ASP.NET

hlasů
31

Má někdo zkušenosti s vytvářením ASP.NET SQL založené poskytovatele site-mapy?

Mám soubor výchozí XML web.sitemapsprávně pracovat s mým Menu a SiteMapPath kontrol, ale budu potřebovat způsob, jak pro uživatele svých webových stránek vytvářet a upravovat stránky dynamicky.

Musím tie oprávnění na prohlížení do standardního ASP.NETčlenství systému stejně.

Položena 01/08/2008 v 16:50
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
11

Jeff Prosise verze z časopisu MSDN funguje docela dobře, ale má několik nedostatků:

AddNode děsí s odkazy na externí webové stránky v nabídce (www.google.com, atd) na

Tady je můj oprava v 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 je v pohodě, ale pokud nechcete, aby se výlet do pokaždé DB vaše zatížení v menu (zkontrolovat, zda došlo ke změně závislost) a vaše menu se nemění příliš často, tak proč nepoužít HttpRuntime.Cachemísto?

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;
    }
}
Odpovězeno 23/09/2008 v 23:41
zdroj uživatelem

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