سؤال

أنا أتلاعب بـ ASP.NET MVC 2 Preview 2 وأحاول معرفة كيفية عمل التوجيه مع المناطق وما شابه.في تنفيذ مشروع واحد للمناطق، أريد منطقة تسمى "المسؤول".

أحاول أن أكون قادرًا على الحصول على عناوين URL مثل هذا:

(root)/admin/apples/search
(root)/admin/apples/edit/3
(root)/admin/apples/add
(root)/admin/oranges/search
(root)/admin/oranges/edit/5
(root)/admin/oranges/add
(root)/admin

لدي المنطقة التي تم إنشاؤها.لقد قمت بإنشاء وحدات التحكم مع وجهات نظر كل منها، ولكن يبدو أن هذا هو التوجيه الذي لا أستطيع الحصول عليه.هل هناك أي نصيحة حول كيفية تحقيق هذا التوجيه؟

أنا متأكد من أن هذا قد يكون بسيطًا للغاية بالنسبة للبعض، ولكن لم يحالفني الحظ كثيرًا في العثور على أمثلة تتجاوز الأشياء الأساسية.

شكرًا!

إضافة إلى السؤال (25/10/2009)لقد قمت بكل ما ذكر حتى الآن ولكن بدون نتيجة.

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

المحلول

تسجيل المناطق في مشروع واحد

يجب عليك إضافة ملف Route.cs إلى مجلد منطقة الإدارة.

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcAreasSingleProject.Areas.Admin
{
    public class Routes : AreaRegistration
    {
        public override string AreaName
        {
            get { return "admin"; }
        }

        public override void RegisterArea(AreaRegistrationContext context)
        {
            context.MapRoute(
                "admin_default",
                "admin/{controller}/{action}/{id}",
                new { controller = "Admin", action = "Edit", id = "" }
            );
        }
    }
}

نصائح أخرى

http://haacked.com/archive/2009/07/31/single-project-areas.aspx

routes.MapAreaRoute("Forums", 
        "admin_area", 
        "admin/{controller}/{action}/{id}", 
        new { controller = "apples", action = "search", id = "" }, 
        new string[] { "Project.Areas.Admin.Controllers" });
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top