2

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

私のWeb構成には、必要だと思われる次の行が含まれています

<add key="manager_namespaces" value="MyApp.Areas.Manager.Controllers" />

マネージャーの製品リンクをクリックすると、

リソースが見つかりません。説明: HTTP 404。探しているリソース (またはその依存関係の 1 つ) は、削除されたか、名前が変更されたか、一時的に利用できない可能性があります。次の URL を見直して、スペルが正しいことを確認してください。要求された URL: /MyApp/manager/products/productlist

ページ /MyApp/manager/page は、デフォルト構成で正常に表示されます。

私は何かを逃したか、どこかで何か間違ったことをしたと確信しています。それがどこにあるのかわからないだけです。

4

1 に答える 1

1

私はあなたの問題を再現しようとしましたが、それは私のプロジェクトであなたのproductscontrollerで完全に動作します. テスト プロジェクトを圧縮してドロップボックスにアップロードしたので、ダウンロードしてプロジェクトと比較できます。

EDIT 作成者がファイルをダウンロードしたため、ダウンロードリンクを削除しました

zip ファイルをダウンロードしたら、削除できるようにお知らせください。

よろしく

ホーカン

于 2014-02-05T08:55:03.950 に答える