休息路由,使用区域时不显示页面

时间:2013-04-26 06:57:59

标签: c#-4.0 rest asp.net-mvc-4 asp.net-mvc-routing asp.net-mvc-areas

我正在试验http://www.restfulrouting.com/的文档。当我打开我的routedug链接就像我想要的那样。但是当我点击链接时,我得到了404.我有以下结构

1. Login
    1.1 Company (Area)
        1.1.1 Departments
        1.1.2 Contacts
        1.1.1 Company info
    1.2 Customer (Area)
        //other information

我的文件夹结构

Controllers (folder)
    customers (folder)
        AreasController.cs
        CompanyController.cs
        TestController.cs
    AccountController.cs

Routes.cs

using System.Web.Routing;
using RestfulRouting;
using extranet.Controllers;
using extranet.Controllers.customers;

[assembly: WebActivator.PreApplicationStartMethod(typeof(extranet.Routes), "Start")]

namespace extranet
{
    public class Routes : RouteSet
    {
        public override void Map(IMapper map)
        {
            map.DebugRoute("routedebug");
            map.Resource<CompanyController>(comp => comp.Only("show"));
            /*******************************
             ********COMPANYAREA*************
             ********************************/
            map.Area<AreasController>("customer", area =>
            {
                area.Resource<TestController>();
                area.Resource<CompanyController>();
            });
        }

        public static void Start()
        {
            var routes = RouteTable.Routes;
            routes.MapRoutes<Routes>();
        }
    }
}

CompanyController

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.IO;
using System.Xml.Serialization;
using System.Web;
using System.Web.Mvc;

namespace extranet.Controllers
{
    public class CompanyController : ApplicationController
    {
        //
        // GET: /Company/

        public ActionResult Index()
        {

            return View();
        }

        public ActionResult Show()
        {
            return View();
        }

    }
}

我的问题是当我去{mysite} / customer / company - &gt;我得到404页面。当我到{mysite} / company时,它会向我显示页面。我在监督什么或我的错误在哪里?如果我在这里遗漏了一些代码,请告诉我,然后我会进行编辑。

提前致谢

1 个答案:

答案 0 :(得分:1)

哇,只花了4个小时搞清楚。结果我将CompanyController从我的控制器映射拖到我的customers类。这意味着命名空间未被更改 - &gt;表示链接无法识别控制器。

我只需要添加:namespace extranet.Controllers.Customers