Обновлен с Umbraco v4 до v7 SurfaceController. Ни один маршрут в таблице маршрутов не соответствует предоставленным значениям.
Недавно я преобразовал наш сайт Umbraco в интрасети с v4 на v7.2, а также преобразовал все главные страницы веб-форм в mvc. Я пытаюсь преобразовать usercontrol, который должен быть дочерним действием, в SurfaceController, но я получаю страшную ошибку "Ни один маршрут в таблице маршрутов не соответствует заданным значениям" при попытке вызвать действие:
@Html.Action("ServiceStatusInfo", "ServiceStatusSurface")
Это просто действие get, для которого не требуется представление или модель. Он просто вызывает действие на сервере, и сервер обновляет файл на сервере, который затем читается с помощью некоторого JavaScript. Я провел большой поиск, и я создал пример решения с использованием Umbraco 7 и создал папку контроллеров, затем "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", хотя это не плагин с атрибутом "площадь", но та же проблема.
Может быть, есть обходной путь, о котором я не знаю?
1 ответ
Измените StatusInfo на ServiceStatusInfo в вашем действии. Это должно соответствовать названию действия.
@Html.Action("ServiceStatusInfo", "ServiceStatusSurface")