- 该教程已过时。项目的结构似乎发生了变化。
Umbraco v8 仍然很新,正如您所说,大多数文档都已过时。您可以在此处查看文档的当前状态。
除此之外,您可以从 Git 下载源代码并检查事情是如何完成的,但这可能非常耗时。
- 移动控制器后不知道如何重写路由
如果我理解正确,您希望拥有自己的控制器,拥有自己的路线。
Umbraco 有自己的 global.asax 实现并覆盖默认路由。不执行通常的路由类,您必须在应用程序启动时添加您的路由。
我设法通过创建一个User Composer来做到这一点。用户作曲家在核心作曲家之后、最终作曲家之前作曲。(下面,我创建了一个IComposer
,但IUserComposer
也应该可以工作。)
public class ApplicationEventComposer : IComposer
{
public void Compose(Composition composition)
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
在这个中你可以注册你自己的 RouteConfig、Bundles 等。小心点,很容易弄乱 Umbraco 路由......
下面是添加一个名为 TestController 的新控制器的示例:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
name: "Test",
url: "Test/{action}/{id}",
defaults: new { controller = "Test", action = "Index", id = UrlParameter.Optional }
);
}
}