gpt4 book ai didi

c# - 如何在 MVC3 中使用带区域的 MapRoute

转载 作者:行者123 更新时间:2023-11-30 13:39:33 25 4
gpt4 key购买 nike

我的网络应用程序中有一个名为“管理”的区域。

所以,http://localhost.com/Admin转到管理区域中的家庭 Controller 和索引操作。

但是,我希望能够使用以下 Url 访问 Admin Home Controller 和 Index Action:

http://localhost.com/Hello

我的尝试是这样的:

routes.MapRoute(
"HelloPage",
"Hello/{controller}/{action}",
new{area= "Admin", controller = "Home", action = "Index"},
new[] { typeof(Areas.Admin.Controllers.HomeController).Namespace });

如您所见,我正在指定命名空间和区域,但我得到的只是路由错误:

The view 'Index' or its master was not found or no view engine supports the searched locations.

它不是在管理区域中搜索。

有什么想法吗?

最佳答案

试试这个:

routes.MapRoute(
"HelloPage",
"Hello/{controller}/{action}/{id}",
new { area = "Admin", controller = "Home", action = "Index", id = UrlParameter.Optional }
);

然后将其添加到您的管理 Controller 操作中:

  if (!this.ControllerContext.RouteData.DataTokens.ContainsKey("area"))
{
this.ControllerContext.RouteData.DataTokens.Add("area", "Admin")
}

您可以 check here获取更多文档。

关于c# - 如何在 MVC3 中使用带区域的 MapRoute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11597035/

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