0

我有一个名为用户的区域。在该区域下,我有一个名为 Index 的视图。

只有一条路线的区域注册:

public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
                "0",
                "user/signup",
                new { action = "Index", controller = "Signup" },
                new string[] { "Company.Web.Areas.User.Controllers" }
            );
}

控制器路径:

Areas\User\Controllers\SignupController.cs

查看路径:

Areas\User\Views\Signup\Index.cshtml

这就是我尝试使用注册超链接在标头中生成 URL 的方式:

<a href="@Url.Action("Index", "Signup", new { area = "User", returnUrl=ViewContext.HttpContext.Request.Url.PathAndQuery })">Signup</a>

这是我得到的网址: http ://www.myserver.com/user/signup?returnUrl=home/main

url 看起来正确,路由只有一个路由。

但是当我点击网址时,它说:找不到资源。用户/注册

我错过了什么?

4

1 回答 1

0

尝试

context.MapRoute(
            "signup",
            "{controller}/{action}", // URL with parameters
            new { controller = "Signup", action = "Index" } // Parameter defaults
        );

这应该映射到注册控制器和索引操作

于 2013-04-08T19:34:21.860 回答