【发布时间】: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 页面在默认配置下显示正常。
我确定我错过了什么,或者在某个地方做错了什么,我只是不确定它在哪里。
【问题讨论】:
标签: piranha-cms