未找到 Piranha CMS 管理自定义控制器
Posted
技术标签:
【中文标题】未找到 Piranha CMS 管理自定义控制器【英文标题】:Piranha CMS Management Custom Controller Not Found 【发布时间】:2014-03-01 13:17:49 【问题描述】:我在向我的 Piranha CMS 添加自定义控制器时遇到问题。 我已经建立了一个新站点并从模板安装,所有基本功能都运行良好。 我已使用文档中的以下代码将菜单添加到管理器部分:
Manager.Menu.Add(new Manager.MenuGroup()
InternalId = "MEProducts",
Name = "Products"
);
Manager.Menu.Where(m => m.InternalId == "MEProducts").Single().Items =
new List<Manager.MenuItem>()
new Manager.MenuItem()
Name = "Products",
Action = "productlist",
Controller = "products",
Permission = "ADMIN",
SelectedActions = "productlist,productedit"
,
new Manager.MenuItem()
Name = "Product groups",
Action = "productgrouplist",
Controller = "products",
Permission = "ADMIN",
SelectedActions = "productgrouplist,productgroupedit"
;
这个菜单在管理器界面显示正常,问题是当我点击菜单项时找不到控制器路径。
控制器是类在Areas/Manager/Controllers/ProductsController.cs,代码如下
namespace MyApp.Areas.Manager.Controllers
public class ProductsController : ManagerController
//
// GET: /Manager/Products/
public ActionResult Index()
return View();
public ActionResult ProductList()
return View();
public ActionResult ProductEdit(string id = "")
return View();
在Areas/Manager/Views/Products/中有ProductList
和ProductEdit
的视图文件
我的网络配置包含我认为我需要的以下行
<add key="manager_namespaces" value="MyApp.Areas.Manager.Controllers" />
当我点击管理器中的产品链接时,我得到
找不到资源。 说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。 请求的 URL:/MyApp/manager/products/productlist
/MyApp/manager/page 页面在默认配置下显示正常。
我确定我错过了什么,或者在某个地方做错了什么,我只是不确定它在哪里。
【问题讨论】:
【参考方案1】:我已尝试重现您的问题,但它在我的项目中与您的 productscontroller 完美配合。我已压缩我的测试项目并将其上传到我的保管箱,以便您下载并将其与您的项目进行比较:
编辑 在作者下载文件时删除了下载链接
请在您下载 zip 文件后通知我,以便我删除它。
问候
哈坎
【讨论】:
已下载谢谢。您的测试项目运行良好,我将用它来解决我的问题。非常感谢。 太好了,当您找出导致错误的原因后,请告诉我是否需要在某处澄清文档! 如果有人感兴趣,我发现我做错了。在piranhacms.org/docs/extend/custom-entities 它声明使用 但实际上它需要在以上是关于未找到 Piranha CMS 管理自定义控制器的主要内容,如果未能解决你的问题,请参考以下文章