최근 인트라넷 Umbraco 사이트를 v4에서 v7.2로 변환했으며 모든 webform 마스터 페이지를 mvc로 변환했습니다.Umbraco v4에서 v7 SurfaceController로 업그레이드되었습니다. 라우트 테이블의 경로가 제공된 값과 일치하지 않습니다.
@Html.Action("ServiceStatusInfo", "ServiceStatusSurface")
: 작업을 호출 할 때 나는 SurfaceController에 아이 행동해야 UserControl을 변환하려고하지만 난 무서워지고하지하고 오류 "경로 테이블에 경로가 지정된 값과 일치" 이는보기 또는 모델이 필요없는 작업을 가져 오는 것입니다. 서버에서 동작을 호출하기 만하면 서버는 서버의 파일을 업데이트하여 일부 자바 스크립트로 읽습니다. 검색을 많이 해본 결과 Umbraco 7을 사용하여 샘플 솔루션을 만들고 컨트롤러 폴더를 만든 다음 "MySurfaceController"를 만들고 샘플 솔루션의 마스터 페이지에서 아무런 문제없이 작업을 호출 할 수 있었지만 최근에는 어떤 이상한 라우팅 문제가 계속 진행되고있는 것처럼 보입니다. 필자는 web.config를 현재 프로젝트와 샘플 모두에 비교했으며 거의 동일한 항목을 가지고있었습니다 (아마도 내가 뭔가를 놓친 것 같았습니다). 변환 된 프로젝트가 라우팅을 인식하지 못하는 것 같습니다. 어떤 도움을 주시면 감사하겠습니다.
는 여기에 내가이가 "영역"속성하지만 같은 문제와 플러그인없는 경우에도 "PluginController"옵션을 사용하여 시도 한 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();
}
}
}
입니다.
아마 내가 모르는 해결 방법이 있습니까?
당신이 @ Html.Action 추가 시도해 볼 수도 있습니다 ("인덱스", "ServiceStatusSurface") 및 기본 레이아웃 페이지에하는 참조? – Jerode
지연된 응답을 드려 죄송합니다. 귀하의 의견을 이해하지 못했습니다. 마스터 페이지 인 MasterPage.cshtml에서 시도했지만 여전히 동일한 오류가 발생합니다. v4에서 전환했다면 _Layout.cshtml 페이지를 만들지 않고 MasterPage.cshtml을 기본 레이아웃 페이지로 참조했습니다. 내가해야 할 것 같아? 내가 라우팅 문제에 어떤 영향을 미칠 것이라고 생각하지 않습니다. –
나는 또한 실제로 이것을 오늘 시도했다. http://stackoverflow.com/questions/22925202/umbraco-7-update-umbraco-routes 그러나 여전히 같은 오류는 없다. "Startup.cs"파일이 라우팅 문제를 해결하는 데 도움이 될지도 모르지만 그렇지 않습니다. 어딘가에 어둠의 라우팅 테이블을 덮어 쓰고있는 뭔가가있을 수 있습니다. –