Umbraco 5 контроллер поверхности и частичный макрос
Я играю с Umbraco 5 (полный новичок) и в настоящее время пытаюсь поэкспериментировать с контроллером поверхности и макросами.
Я создал базовый контроллер поверхности:
public class TestSurfaceController : SurfaceController
{
//
// GET: /TestSurface/
[ChildActionOnly]
public ActionResult GetTest()
{
List<Test> test = new List<Test>();
test.Add(new Test { TestTitle = "Test" });
return View(test);
}
}
И частичный макрос:
@inherits PartialViewMacroPage
@using Umbraco.Cms.Web
@using Umbraco.Cms.Web.Macros
@using Umbraco.Framework
@model IEnumerable<Umbraco.Models.Test>
<ul>
@foreach (var test in Model)
{
<li>@test.TestTitle</li>
}
</ul>
И на моем домашнем шаблоне я называю это:
@inherits RenderViewPage
@using System.Web.Mvc.Html;
@using Umbraco.Cms.Web;
@{
Layout = "_Layout.cshtml";
}
@section head
{
@Umbraco.RenderMacro("getTest")
}
Как мне заставить его просто отображать тест в ul? Я либо получаю сообщение об ошибке, в котором говорится, что я не могу использовать наследование, если используется модель, а затем, если я забираю наследство, я получаю сообщение о том, что предоставленная модель не соответствует ожидаемой.
1 ответ
@inherits RenderViewPage Удалите эту строку с вашей частичной страницы, если вы хотите, я могу опубликовать пример действия контроллера рабочей поверхности и частичное представление. надеюсь, это поможет. Рабочий пример ниже,
public class MDSSurfaceController : SurfaceController
{
public MDSSurfaceController(IRoutableRequestContext routableRequestContext)
: base(routableRequestContext)
{
}
[ChildActionOnly]
public PartialViewResult ApartmentListMacro(string apartmentType, string Name, string PropertyRfDicItem, string RatesperNightDict, string SleepsDict, string BedroomsDict, string BathroomsDict, string ViewDict)
{
ApartmentListModel apM = new ApartmentListModel();
//initialize model
return PartialView(apM);
}
Тогда мой частичный вид
@using Umbraco.Cms.Packages.SystemInfo.Models
@model Umbraco.Cms.Packages.SystemInfo.Models.ApartmentListModel
@{
//Html Code
}