FubuMVC框架入门指南

在许多开源项目中,设置过程往往复杂且令人望而却步。本文旨在简化这一流程,介绍如何快速创建并运行一个基于FubuMVCWeb应用程序。

前提条件

首先,创建一个空的Web应用程序项目。然后,通过“添加库包引用…”对话框,添加FubuMVC.FastPack。这个包不仅包含了FubuMVC的核心组件,还集成了NHibernate、StructureMap、HtmlTags等其他有用的库。

FubuMVC的配置

FubuMVC的配置方式与其他框架不同,它将约定明确地展示出来,并且允许用户进行修改。以下是配置FubuMVC的步骤:

public class ConfigureFubuMVC : FubuRegistry { public ConfigureFubuMVC() { IncludeDiagnostics(true); Actions.IncludeClassesSuffixedWithController(); Views.TryToAttachWithDefaultConventions(); Routes.IgnoreControllerNamespaceEntirely(); } }

在上述代码中,可以看到:

  • 所有以"Controller"结尾的类都被视为控制器。
  • 视图应该使用默认约定进行附加。
  • 路由配置中,不包含控制器命名空间。

控制器和视图的约定

FubuMVC允许通过约定来简化控制器和视图的配置。例如,可以通过ViewModel、命名空间和方法名来查找视图。如果找不到,会依次尝试只使用ViewModel和命名空间,或者只使用ViewModel。

Views.TryToAttach(x => { x.by_ViewModel_and_Namespace_and_MethodName(); x.by_ViewModel_and_Namespace(); x.by_ViewModel(); });

这种约定方式使得大多数情况下,只需要为每个动作方法提供一个视图即可。但是,如果需要从单个动作方法渲染不同的视图,可能需要进一步了解FubuMVC的高级特性。

路由配置

在FubuMVC中,路由配置是第一步。通过以下代码,告诉FubuMVC在URL中不包含控制器的命名空间:

Routes.IgnoreControllerNamespaceEntirely();

此外,FubuMVC还默认忽略了"Controller"后缀,这与ASP.NET MVC的行为一致。虽然这种默认行为在配置类中没有明确写出,但它是FubuMVC的内置特性之一。

FubuMVC并不是什么奇怪的极客玩意儿,实际上它比ASP.NET MVC更简单。尽管还没有尝试过高级功能,但从听到的来看,高级功能也同样简单。更重要的是,使用FubuMVC工作起来非常有趣!

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485