asp.net-mvc - 如何在多个应用程序或网站中重用区域、 Controller 、 View 、模型、路由

标签 asp.net-mvc asp.net-mvc-3 asp.net-mvc-routing reusability asp.net-mvc-3-areas

我有一个测试解决方案,其中只有一个名为 Admin 的区域。

我想在许多其他 Web 应用程序中重用 Admin。

我在 IIS 中设置了一个 Web 应用程序,然后我添加了一个虚拟应用程序,/Admin来自 Areas\Admin .

当我导航到/Admin 时,我会看到一个目录列表。当我尝试点击 Controller 时,/Admin/News。我收到 404 错误。可能是区域没有注册,即使代码在 global.asax 中。但是,我确信我对这一切都做错了。

请建议更改以使这种情况起作用。

最佳答案

区域不能按照您的想法(使用虚拟目录)重复使用。它们只是根 Web 应用程序不可分割的一部分。它们只是嵌入到根应用程序路由中,没有它就无法运行。通过将虚拟目录指向您的 Areas文件夹,您表示这是一个单独的 ASP.NET 应用程序,但事实并非如此。

有像MvcContrib Portable Areas这样的项目旨在解决这些问题。值得一看。此外,如果您想将一些 Razor View 嵌入到可以在不同 ASP.NET MVC 3 应用程序之间重用的程序集中,您可以查看 following blog post .

关于asp.net-mvc - 如何在多个应用程序或网站中重用区域、 Controller 、 View 、模型、路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6656843/

相关文章:

asp.net-mvc - 我的 JSON 字符串在我的 Action 中应该是什么样子?

asp.net-mvc-3 - TableSorter 记录过多

c# - MVC 3 图像未加载

asp.net-mvc - 小写 URL 不影响参数

c# - 如何全局访问当前的HttpRequestMessage对象?

.net - ASP.NET Sentry 配置

c# - 板载 ReSharper 时的 T4MVC?

asp.net-mvc - asp.net mvc 局部 View 错误出

c# - 为什么大多数 ASP.NET MVC 示例直接在表示层访问数据库?

c# - 使用 RouteAttribute 对 ApiController 进行单元测试