2

我的 Views 文件夹变大了!我想重新组织它,使 Views 文件夹包含一个模块列表,然后每个 Module 文件夹都包含其当前显示在 Views 文件夹下的 View (Controller) 文件夹的共享。

但这当然意味着进入我的每个控制器并编辑每个视图返回方法及其视图的显式位置。

因此,而不是 Controller Orders.Index 方法只是有这个:

return View();

我必须对其进行编辑才能返回:

return View("~/Views/Orders/Index.cshtml");

你可以想象这个练习达到 50 多个控制器的糟糕程度。

有什么方法可以让我为每个控制器设置路由或其他东西,告诉控制器的方法在 Views 文件夹的已定义子文件夹中找到他们的视图?

4

2 回答 2

2

它可以在CustomViewEngine的帮助下完成 关注这篇文章,我希望您可以提供自己的位置来定位视图模板。MVC 提供了一种方式,我们可以轻松地提供要搜索的路径列表

定位视图

添加 CustomViewEngine 后,在 Application_Start() 事件中注册它,然后你就完成了 :) 快乐编码

于 2013-02-28T11:56:37.903 回答
1

您可以通过实现自定义 RazorViewEngine来解决此问题,您可以在其中指定每个请求、每个控制器等的视图的搜索路径。

于 2013-02-28T11:56:17.490 回答