因此,当我尝试访问ASP.NET MVC 3应用程序中新创建的控制器时,突然发生404错误。我确保控制器命名正确,路由匹配根据RouteDebugger,我已经确认控制器的文件夹存在于Views文件夹中,并且该操作的正确名称View也存在。所有这些都在一个区域内。哦,我在Visual Studio开发服务器上运行它,而不是在IIS上运行。
所以,我已经在这里待了大约2个小时而且没有到达任何地方,所以我希望有人能指出我正确的方向。这是控制器和路线的来源:
// AdministrationAreaRegistration.cs
public override void RegisterArea(
AreaRegistrationContext AreaRegistrationContext) {
AreaRegistrationContext.MapRoute("8UVhDc", "Administration/{controller}/{DocumentTypeId}", new {
action = "List"
}, new {
controller = @"Documents",
DocumentTypeId = @"\d+"
});
}
// DocumentsController.cs
public sealed class DocumentsController : AdminController {
[Inject]
public DocumentsController(
CookieManager CookieManager,
DocumentTypeManager DocumentTypeManager)
: base(CookieManager: CookieManager, DocumentTypeManager: DocumentTypeManager) {
}
[HttpGet]
public ActionResult List(
short DocumentTypeId) {
return this.View(new AdministrationView {
Cookie = base.Cookie,
DocumentTypes = base.DocumentTypes
});
}
}
当然,“Views”文件夹中有一个名为“Documents”的文件夹,而“Documents”文件夹中有一个名为“List”的视图。据我所知,我不应该得到这个错误(这可能是程序员不应该说的?)......
无论如何,如果有人指出我明显搞砸了,那真是太棒了。提前谢谢!
答案 0 :(得分:0)
请参阅error 404
此处http://support.microsoft.com/kb/315122
答案 1 :(得分:0)
确保在DocumentsController
命名空间中定义了XXX.Areas.Administration.Controllers
,其中XXX是您的应用程序的名称。还要确保您请求的网址符合路径限制:
http://localhost:35076/Administration/Documents/123