0

我已经阅读了有关该主题的每个主题/问题,但从未找到答案。

在我的 MVC4 项目中,我刚刚添加了一个名为“Admin”的新区域。我看到AdminAreaRegistration.vb默认情况下已生成:

Public Class AdminAreaRegistration
    Inherits AreaRegistration

    Public Overrides ReadOnly Property AreaName() As String
        Get
            Return "Admin"
        End Get
    End Property

    Public Overrides Sub RegisterArea(ByVal context As System.Web.Mvc.AreaRegistrationContext)
        context.MapRoute( _
            "Admin_default", _
           "Admin/{controller}/{action}/{id}", _
            New With {.action = "Index", .id = UrlParameter.Optional} _
        )
    End Sub
End Class

我创建了一个“AdminController”和一个适当的视图并构建了项目。试图导航到

/Admin

/Admin/Admin

/Admin/Admin/Index

一切以失败告终

通用 404

我尝试删除管理区域并创建一个DashboardAdmin控制器调用的新区域。

文件夹结构

我还修改了我的 MapRoute

context.MapRoute( _
    "Dashboard_default", _
    "Dashboard/{controller}/{action}/{id}", _
    New With {.controller = "Admin", .action = "Index", .id = UrlParameter.Optional} _
)

我尝试了命名空间的每一种组合DashboardAreaRegistration

Namespace Areas

Namespace Areas.Dashboard

Namespace Dashboard

我尝试了命名空间的每一种组合AdminController

Namespace Areas

Namespace Areas.Dashboard

Namespace Areas.Controllers

Namespace Areas.Dashboard.Controllers

我还尝试将命名空间包含在\App_Start\RouteConfig.vb

Imports Areas

Imports Areas.Dashboard

Imports Areas.Dashboard.Controllers

没有变化,只是 404。我该怎么办?

4

1 回答 1

0

2天后,我终于解决了这个问题,我不知道为什么会这样

在我的主要Web.config我发现

<section name="glimpse" type="Glimpse.Core.Configuration.Section, Glimpse.Core" />

这是 Glimpse 的线 - 我安装的一个 NuGet 包,首先试图帮助解决我的问题。它的功能之一是协助进行路由调试。请注意,在我安装 Glimpse 之前和之后出现的问题完全相同;所以我认为这无关。

  1. 我删除了这一行
  2. 已保存Web.config
  3. 刷新浏览器,出现错误(500)
  4. 把线放回去
  5. 再次保存
  6. 再次刷新页面,一切正常;我可以访问/Dashboard

某种故障或腐败?

于 2013-04-18T02:06:24.153 回答