错误404 mvc-区域生根

时间:2016-01-21 17:34:31

标签: asp.net-mvc model-view-controller

我有一个asp.Net项目的问题。我在客户端改变了一些东西。起初,寄存器视图默认位于帐户视图中,但我想更改它,因为我也在代码中进行了其他更改。现在,当我运行它时,找不到路径(错误404)。我通过点击我的寄存器controler =>更改了视图。添加视图。我已经阅读了有关mvc领域的其他帖子,但我不能完全取消我需要改变的内容,因为我是新手。我试过那段代码。我的控制器名称是注册我的方法ActionResult也是register()。

        routes.MapRoute(
        "Register", // Route name
        "{controller}/{action}/{id}", // URL with parameters
        new { controller = "Register", action = "Register", id = UrlParameter.Optional });

2 个答案:

答案 0 :(得分:0)

您的Register操作方法现在位于RegisterController,而不是AccountController。因此,您需要在布局/其他视图文件中将对旧注册操作方法(Account/Register)的调用更新为新的(Register/Register

更改

@Html.ActionLink("Register", "Register", "Account")

@Html.ActionLink("Register", "Register", "Register")

这将生成链接,其href值设置为"Register/Register",这是对现有路径的有效请求。

答案 1 :(得分:0)

您引用的代码位与默认规则完全相同,不同之处在于如果输入不带路径的url,则会假定它应使用名为Register的控制器,并使用名为{{1}的操作}。如果首先放置默认规则,它实际上将覆盖您的默认规则,因为所有可能的URL都与URL模式匹配。

  • 本地主机:59436
  • 本地主机:59436 /注册
  • 本地主机:59436 /注册/注册

这些都指向使用路由规则的相同内容。我不确定这是你的意图。

您用于注册的控制器名称和操作是什么?您需要更新要使用的链接:

Register