【问题标题】:ASP.NET MVC3 Razor: How to follow a modular architecture?ASP.NET MVC3 Razor:如何遵循模块化架构?
【发布时间】:2012-03-03 13:14:10
【问题描述】:

谁能告诉我如何遵循模块化架构并在单独的类库项目中创建 MVC3 Razor 视图和控制器?

我认为这是开发业务应用程序的一个非常普遍的要求。我检查了Plug-in architecture for ASP.NET MVC 的帖子,但它不适用于 MVC3 Razor 视图。错误消息令人困惑:“view is not found …or its master is not found or no view engine support the searched locations.搜索了以下位置:….”。我不知道是否可以找到 view/_ViewStart。我也查了A plugin framework with ASP.NET MVC3 and embedded Razor views的帖子,但没有给出任何示例代码。

Umbraco CMS http://umbraco.codeplex.com/ 实现了插件架构,但在我的项目中它是一个太重的框架。

谁能提供一个小示例来展示如何遵循模块化架构并在单独的类库项目中创建 MVC3 Razor 视图和控制器?谢谢。

【问题讨论】:

标签: asp.net-mvc-3 razor


【解决方案1】:

您是否尝试过使用允许您在单独的项目中预编译剃刀视图的 David Ebbos Razor 生成器?链接是here。该网站还包含一个示例应用程序。

基本上,这允许您在单独的项目中创建视图,然后通过将每个视图的自定义控件设置为指向 Razor 生成器来预编译它们。该项目还包括一个预编译的视图引擎,它将为您执行在其他项目中的视图搜索。

【讨论】:

  • 我查看了帖子。该方法在单独的类库项目中创建视图和模型。但我所说的模块是指拥有单独的库,其中包括模型视图和控制器。这个概念与“区域”或插件架构类似。这里的插件包含所有元素,而不仅仅是剃刀视图。
  • 视图确实是移动到另一个类库的唯一棘手部分。您可以将控制器类添加到另一个库并为 ControllerBuilder 指定控制器命名空间。您还可以轻松地将模型移动到另一个库中。在这种情况下,您的类项目是插件,主项目可以对任何实现视图/模型/控制器的类项目使用反射。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-04
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-26
  • 2011-04-23
相关资源
最近更新 更多