1 回答

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊
Umbraco8 中沒(méi)有,他們用User ComposersIApplicationEventHandler
代替了它
Umbraco 有自己的 global.asax 實(shí)現(xiàn),正如您所說(shuō),它會(huì)覆蓋默認(rèn)路由。通常的路由類不會(huì)執(zhí)行,您必須在應(yīng)用程序啟動(dòng)時(shí)添加您的路由。
我設(shè)法通過(guò)創(chuàng)建一個(gè)User Composer來(lái)做到這一點(diǎn)。用戶作曲家在核心作曲家之后、最終作曲家之前作曲。
(在下面,我創(chuàng)建了一個(gè)IComposer
,但IUserComposer
也應(yīng)該可以工作。)
public class ApplicationEventComposer : IComposer
{
? ? public void Compose(Composition composition)
? ? {
? ? ? ? AreaRegistration.RegisterAllAreas();
? ? ? ? FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
? ? ? ? RouteConfig.RegisterRoutes(RouteTable.Routes);
? ? ? ? BundleConfig.RegisterBundles(BundleTable.Bundles);
? ? }
}
在這個(gè)中你可以注冊(cè)你自己的 RouteConfig,Bundles 等等。小心點(diǎn),很容易搞亂 Umbraco 路由...
下面是添加一個(gè)名為 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 }
? ? ? ? );
? ? }
}
- 1 回答
- 0 關(guān)注
- 128 瀏覽
添加回答
舉報(bào)