كيفية طراز سيناريو الملاحة هذا مع طريق فعال و asp.net خريطة الموقع؟

StackOverflow https://stackoverflow.com/questions/2021911

سؤال

أحتاج إلى نموذج السيناريو التالي، لكن لا يمكنني الحصول عليه مع MVCSITEMAPPROVIDER (أعتقد أن مشكلتي تعرض أيضا لها أيضا مباشرة إلى SitemApropider الافتراضي). أريد أن أحصل على التحكم في الخبز الافتراضي للعمل بشكل صحيح مع بياناتي الديناميكية.

لدي قائمة products التي يتم تجميعها من قبل category التي لها أ parent-category

  • القسم الرئيسي
    • فئة
      • المنتج

أريد أن أكون قادرا على استخدام عنوان URL (عناوين)) التالي:

(1) /منتجات
(2) / المنتجات / الفئة المركزية
(3) / المنتجات / الكلاسيكية / الفئة
(4) / المنتجات / الفئات الرئيسية / الفئة / المنتج

من الواضح أن حلاي أدناه ليس الأمثل.

ال Products العقدة في خريطة الموقع لا تحتوي على أطفال، لذلك لن تظهر في القائمة الخاصة بي.

لقد قمت بإنشاء كائن وسيط يضيف الصور الفئات والفئات الخاصة بحيث تظهر في القائمة الخاصة بي. ولكن هذا لن يحل المشكلة كضوابط أخرى (فتات الخبز) فقط أقول أنني على / منتجات.

يجب أن أغير طرقي أو تغيير تعريف خريطة الموقع الخاص بي؟ أو ربما شيء آخر؟


لدي حاليا ما يلي:

  • 2 طرق
    1 للبيع
    1 من أجل / المنتجات / الفئة المركزية / الفئة / المنتج -> رسم الخرائط إلى Productcontroller.Product ()
  • 1 الدخول في خريطة الموقع
    مع DynamicParameters محددة (الفئة المركزية؛ الفئة)

تعريف طريق Global.asax:

    routes.MapRoute( _
        "Product", _
        "Products/{MainCategoryName}/{CategoryName}/{ProductName}", _
        New With {.controller = "Products", .action = "Product"} _
    )

    routes.MapRoute( _
        "Products", _
        "Products/{MainCategoryName}/{CategoryName}", _
        New With {.controller = "Products", .action = "Index", .GroupName = "", .CategoryName = ""} _
    )

لدي الإدخالات التالية في بلدي خريطة الموقع:

<?xml version="1.0" encoding="utf-8" ?>
<siteMap>
  <mvcSiteMapNode controller="Home" action="Index" title="Home" description="Homepage">
    <mvcSiteMapNode controller="Products" action="Index" title="Products" description="" isDynamic="true" dynamicParameters="MainCategoryName;CategoryName" />
  </mvcSiteMapNode>
</siteMap>
هل كانت مفيدة؟

المحلول

أنا أستخدم حاليا مخصص SiteMapProvider. وبعد ما زلت أيضا الحفاظ على طرق مخصصة فهي بأي حال من الأحوال ذات الصلة.

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