c# – vmb项目内的Umbraco表面控制器
我已经在我的Umbraco应用程序(v6)中实现了Surface控制器,但是它不起作用.
这是简单的Hello World类: public class MySurfaceController : Umbraco.Web.Mvc.SurfaceController { [HttpGet] public ActionResult Index() { return Content("hello world"); } } 不幸的是,每当我访问它时,都会收到HTTP 404错误.我尝试了以下网址: > / Umbraco /表面/我的 我的Global.asax继承自Umbraco.Web.UmbracoApplication 有没有人对我可能做错了什么有任何建议? 谢谢 解决方法
这里有几件事:
您不再需要结束控制器“SurfaceController”的名称,只需从SurfaceController继承即可. 此外,您不需要路径前缀/ Umbraco / surface /,如果您的控制器被称为MyController,您应该能够在/ my /上访问Index()动作. 编辑: 假设您要从控制器提供页面,则需要修改web.config AppSetting条目以包含控制器的路径 <add key="umbracoReservedPaths" value="~/umbraco,~/install/,~/my" /> 您还需要从global.asax注册专门为您的控制器设置的路由: routes.MapRoute( name: "Default",url: "my/{action}/{id}",defaults: new { action = "Index",id = UrlParameter.Optional } ); 重要的是,这是特定于您的控制器,因为您不希望它覆盖任何Umbraco路由. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |