[英]Upgraded from Umbraco v4 to v7 SurfaceController No route in the route table matches the supplied values
最近,我將Intranet Umbraco網站從v4轉換為v7.2,並將所有Webform母版頁轉換為mvc。 我正在嘗試將應該是子操作的用戶控件轉換為SurfaceController,但是在嘗試調用該操作時,出現了可怕的“路由表中的任何路由都不匹配提供的值”錯誤:
@Html.Action("ServiceStatusInfo", "ServiceStatusSurface")
這只是一個獲取操作,不需要視圖或模型。 它只是調用服務器上的操作,服務器會更新服務器上的文件,然后由某些javascript讀取文件。 我進行了很多搜索,並使用Umbraco 7創建了一個示例解決方案,並創建了一個controllers文件夾,然后創建了一個“ MySurfaceController”,我可以從示例解決方案的主頁調用該操作,沒有任何問題,但是在最近轉換的情況下項目似乎正在發生一些奇怪的路由問題。 我將當前項目和示例的web.config進行了比較,它們幾乎具有相同的條目(我想可能我錯過了一些東西)。 看來我轉換后的項目無法識別路由。 任何幫助將不勝感激。
這是SurfaceController
using Umbraco.Web.Mvc;
using System.Web.Mvc;
namespace MyUmbracoApp.Controllers
{
public class ServiceStatusSurfaceController : SurfaceController
{
// can't reach this either:
public ActionResult Index()
{
return Content("hello world");
}
// this is what I am trying to reach
[ChildActionOnly]
public ActionResult ServiceStatusInfo()
{
// do some stuff to get the status
return CurrentUmbracoPage();
}
}
}
我也嘗試過使用“ PluginController”選項,即使這不是具有“ area”屬性的插件,但同樣的問題。
也許有一個我不知道的解決方法?
在您的操作調用中將StatusInfo更改為ServiceStatusInfo。 這應該與操作的名稱匹配。
@Html.Action("ServiceStatusInfo", "ServiceStatusSurface")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.