直接從NuGet使用BetterCMS 2.0.6.192。全新的C#項目。BetterCMS服務器小部件控制器/查看未找到
我已經完成了多次設置,但無法獲得一個Server Widget來調用自定義控制器/視圖代碼。
我正在嘗試創建一個自定義服務器小部件。我在View/Widgets文件夾中有Phonebook.cshtml,並在網站中的頁面上註冊爲Widget。這個小部件視圖將使用一些簡單的html呈現,但是當我嘗試發佈或呈現局部視圖時,出現錯誤「路由表中沒有路由與提供的值匹配」。
內Phonebook.cshtml控件我已經加入
@{ Html.RenderAction("Index", "Phonebook", new {Area = ""}); }
但局部視圖中沒有找到。錯誤消息,在頁面上看到的小部件是,
「錯誤呈現視圖」〜/ Views/Widgets/Phonebook.cshtml「:路由表中沒有路由與提供的值匹配。」
我在/ Views文件夾中的/ Controllers文件夾中有一個PhonebookController我有一個Index.cshtml。儘管調試Index視圖從未被觸發。
我也嘗試添加
@{ Html.RenderAction("Index", "Phonebook", new { Area = "Phonebook" }); }
到/Views/Widgets/Phonebook.cshtml。我有/Areas/Phonebook/Controllers/PhonebookController.cs和/ Areas/Phonebook/Views/Index索引操作永遠不會被觸發。
我認爲這可能與路由有關。在PhonebookAreaRegistration.cs文件我有
context.MapRoute("Phonebook_default", "Phonebook/{controller}/{action}/{id}", new { action = "Index", id = UrlParameter.Optional });
在我註釋掉默認路由作爲文檔指示/App_Start/RouteConfig.cs。
幫助。
這是一個交叉發佈在Better CMS論壇,不知道論壇得到多少流量了。 http://www.bettercms.com/support/widgets-and-modules/struggling-with-server-widget/