ASP.NET MVC - 嵌套应用程序中的控制器名称

发布于 2024-10-08 04:43:03 字数 412 浏览 2 评论 0原文

我有一个 MVC Web 应用程序和一个具有相同名称区域的嵌套管理应用程序:

/localhost/videos
/localhost/admin/videos

这些是 VS 解决方案中的单独项目。 admin 项目部署到根应用程序之外的文件夹中。

两个 Videos 区域都有一个名为 VideosController 的控制器。看来 MVC 正在调用根应用程序的 VideosController.Index 而不是管理站点的 VideosController.Index,但(正确地)尝试返回 admin/areas/videos/views/videos/index 视图。

我不想进入并重命名所有管理控制器。有什么建议吗?

I have an MVC web app, and a nested admin application with areas with the same name:

/localhost/videos
/localhost/admin/videos

These are separate projects in the VS solution. The admin project is deployed into a folder off of the root app

Both Videos areas have a controller called VideosController. It appears that MVC is calling the root application's VideosController.Index instead of the admin site's VideosController.Index, but is (correctly) trying to return the admin/areas/videos/views/videos/index view.

I'd rather not have to go in and rename all of the admin controllers. Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

耀眼的星火 2024-10-15 04:43:03

可能有帮助的是指定默认名称空间。

通常是这样的:

ControllerBuilder.Current.DefaultNamespaces.Add("MyProduct.Controllers");

所以现在,如果 MVC 有两个东西,它将有一个默认值可以依靠。如果您开始使用区域,您会看到很多相同的问题。

What might help is specifying the default namespace.

typically something like this:

ControllerBuilder.Current.DefaultNamespaces.Add("MyProduct.Controllers");

So now, if MVC has two of something, it will have a default to fall back on. You will see a lot of the same issues if you start using Areas.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文