سؤال

أريد موقع ASP.NET الخاص بي للحصول على سلسلة قائمة بسيطة AKA فتات الخبز. لقد قمت بإنشاء خريطة الموقع مع جميع العناصر المطلوبة المسجلة في Web.config. علي سبيل المثال:

<siteMap>
    <siteMapNode url="Default.aspx" title="Home" >
        <siteMapNode url="hosting/Default.aspx" title="Hosting" />
        <siteMapNode url="software/Default.aspx" title="Software">
            <siteMapNode url="firefox/Default.aspx" title="Firefox">
                <siteMapNode url="Download.aspx" title="Download" />
                <siteMapNode url="Support.aspx" title="Support" />
            </siteMapNode>
        </siteMapNode>
    </siteMapNode>
</siteMap>

وخلق عنصر تحكم وضعت على masterpage. هنا هو رمز توليد القائمة:

protected void Control_Load(Object sender, EventArgs e)
{
    string path = String.Empty;
    StringCollection list = new StringCollection();

    foreach (string str in Request.Url.Segments)
    {
        path += str;
        string link = String.Format("<a href=\"{0}://{1}{2}\">{3}</a>", Request.Url.Scheme, Request.Url.Authority, path, this.names[str]);
        list.Add(link);
    }

    foreach (string str in list)
    {
        menu += String.Concat(str, SeparatorLine);
    }
    menu = menu.Remove(menu.LastIndexOf(SeparatorLine));
}

لكنه يستخدم strDectionary مثل {{"/"، "Home"}، {استضافة / "،" استضافة "}، {" البرمجيات / "،" البرمجيات "} ..}

كيف يمكنني استخدام استعلام إلى Sitemap بدلا من ذلك؟ أو ربما شيء آخر، وليس خريطة الموقع، ولكن قبل اخترع.

هل كانت مفيدة؟

المحلول

ASP.NET Sitemappath السيطرة

<asp:SiteMapPath ID="SiteMapPath1" Runat="server" />

نصائح أخرى

يمكنك استعمال ال sitemappath. التحكم (يجب أن تكون في فئة الملاحة من مربع الأدوات الخاص بك). يفحص هذه الصفحة لبرنامج تعليمي.

قم فقط بتعيين الخاصية SIVEMAPROVIDER إلى موفر خريطة الموقع الذي تريد استخدامه في Breadcrumbs وسيتم تعيينك. عادة ما أطرح SITEMAPPATH داخل DIV وضبط CSS على DIV To Style Breadcrumbs.

واحد gotcha للبحث عن رغم ذلك. إذا قمت بإقاحة أي عقد جذر في خريطة الموقع، فستظل تظهر في فتاتك. لقد قمت بتشغيل ذلك من خلال محاولة استخدام نفس خريطة الموقع ل Breadcrumbs ولل sidemapdatasource ل TreeView حيث أردت عدم إظهار عقدة البدء.

حظ سعيد!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top