gpt4 book ai didi

asp.net-mvc - MVC 3 - 新区域 - 404 错误 - 找不到资源 - 已尝试路由调试器

转载 作者:行者123 更新时间:2023-12-04 00:43:41 26 4
gpt4 key购买 nike

我有一个小的 MVC 3 应用程序 - 一个演示 field 。
我有一个区域,而且工作正常。

我刚刚添加了另一个区域,希望启动应用程序并且它可以工作 - 但不,404 - 找不到资源。

AreaRegistration 中的 map 路线是默认的(就像我创建的第一个区域一样)。

public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Postcard_default",
"Postcard/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}

我试过在其中添加一个特定的 Controller ,但没有。

所以我下载了 Phil Haack 的 RouteDebugger 并且在输入 http://server/Postcard/Create 时找到了我的路线。 (这也是我试图去的地方)

区域结构

alt text

我的 Controller
    public class CreateController : Controller
{
private ILogger Logger { get; set; }
private ICardSender Emailer { get; set; }
private IOCCardRepository CardRepository { get; set; }

public CreateController(ILogger logger, ICardSender cardSender, IOCCardRepository repository)
{
this.Logger = logger;
this.Emailer = cardSender;
this.CardRepository = repository;
}


//
// GET: /Postcard/Create/

public ActionResult Index()
{
var model = new OCPostcardModel().Create();

return View(model);
}

现在:我已经删除了整个区域,再次尝试它没有用。所以我在路由中添加了特定的 Controller (Inside AreaRegistration 文件)
context.MapRoute(
"Postcard_default",
"Postcard/{controller}/{action}/{id}",
new { controller = "Create", action = "Index", id = UrlParameter.Optional }
);

它的工作......我不知道为什么我以前这样做时它不起作用,但现在是。

仍然很好奇,因为我在我看过的任何演示中都没有看到有人将此 Controller 添加到路由中 - 而我在其他区域没有看到它?

最佳答案

当我将 Controller 移动到区域但忘记更新命名空间时,我遇到了这个问题。 Controller 名称的范围是区域的命名空间。因此,“Area”中的“Some”将映射到不存在的 App.Areas.Area.Controllers.SomeController。

关于asp.net-mvc - MVC 3 - 新区域 - 404 错误 - 找不到资源 - 已尝试路由调试器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4500165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com