如何在多个应用程序或网站中重用区域,控制器,视图,模型,路由

时间:2011-07-11 21:29:54

标签: 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时,我看到一个目录列表。当我尝试击中控制器时,/ Admin / News。我收到404错误。可能是这些区域没有注册,即使代码存在于global.asax中。但是,我确信我错了。

请建议更改此情况。

1 个答案:

答案 0 :(得分:6)

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

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