Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET MVC路由和区域_Asp.net Mvc_Routing_Asp.net Mvc Areas - Fatal编程技术网

Asp.net mvc ASP.NET MVC路由和区域

Asp.net mvc ASP.NET MVC路由和区域,asp.net-mvc,routing,asp.net-mvc-areas,Asp.net Mvc,Routing,Asp.net Mvc Areas,我正在玩ASP.NETMVC2Preview 2,试图弄清楚路由是如何与区域等一起工作的。在区域的单个项目实现中,我需要一个名为“admin”的区域 我正在尝试使用如下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 (r

我正在玩ASP.NETMVC2Preview 2,试图弄清楚路由是如何与区域等一起工作的。在区域的单个项目实现中,我需要一个名为“admin”的区域

我正在尝试使用如下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
我已经创建了这个区域。我用各自的视图创建了控制器,但我似乎无法获得路由。关于如何实现这种路由,有什么建议吗

我相信这对一些人来说可能非常简单,但我没有太多的运气找到超越基本内容的例子

谢谢

问题补充(10/25/2009) 我基本上是问我在该地区的AreaRegistration课程中设置哪些路线和顺序?到目前为止,我已经做了所有提到的事情,但没有结果。

routes.MapAreaRoute(“论坛”, “行政区”, “admin/{controller}/{action}/{id}”, 新的{controller=“apples”,action=“search”,id=”“}, 新字符串[]{“Project.Areas.Admin.Controllers”});

您必须将routes.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 = "" }
            );
        }
    }
}

这是针对ASP.NET MVC 2预览版1的-我正在开发预览版2,其中包括单个项目中区域的开箱即用实现。RouteCollection在预览2中甚至没有MapAreaRoute方法。
    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 = "" }
            );
        }
    }
}