当我尝试转到agency
区域中我家控制器中的索引方法时,收到IIS 404错误消息。如果我将route
属性更新为:[Route("{action}")]
它运行正常,但我希望将index
保留为默认路由。
在我看来,我有这个:
@Html.ActionLink("Click here", "index", "home", new { area = "agency" }, new { @class = "btn btn-block btn-lg btn-primary" })
代理商区的HomeController
namespace ProjectName.UI.Areas.Agency.Controllers
{
[RouteArea("agency")]
[RoutePrefix("home")]
[Route("{action=index}")]
public class HomeController : BaseController
{
public ActionResult Index()
{
return View();
}
}
}
RouteConfig:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
AreaRegistration.RegisterAllAreas();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "home", action = "index", id = UrlParameter.Optional },
namespaces: new[] { "ProjectName.UI.Controllers" }
);
}
我还有一个与代理商区域完全相同的管理区域,但RouteArea
为admin
并且我没有任何问题。
欢迎任何建议。
答案 0 :(得分:0)
我发现问题是因为我的区域被称为Agency
而在我的Views
文件夹中我有另一个名为Agency
的子文件夹。它没有路由到agency/home/index
,而是试图在home
文件夹中找到agency
视图。