Я столкнулся с этой проблемой. У меня есть представление, которое отображается следующим образом:
@inherits Umbraco.Web.Mvc.UmbracoViewPage
@using MyProject.Web.Models;
@using ContentModels = Umbraco.Web.PublishedContentModels;
@{
Layout = "MasterPage.cshtml";
}
@Html.Partial("_HeroModule")
@foreach (var item in Model.GetPropertyValue<IEnumerable<IPublishedContent>>("generalContentCollection"))
{
var partialViewName = "_" + item.DocumentTypeAlias;
if (partialViewName == "_curtainsModule")
{
Html.RenderPartial("CurtainsModule", new CurtainsModuleModel(Model, item));
}
else
{
@Html.Partial(partialViewName, item);
}
«Элемент» здесь представляет собой общую коллекцию вложенного контента. Внутри него есть еще одна коллекция, которую мне нужно достичь, под названием «fabricsCollection», которая также является вложенным содержимым.
Проблема в том, что когда я перехожу к SurfaceController и делаю это "fabricsCollection" возвращает ноль, вероятно, потому, что это вложенный контент:
[HttpPost]
public JsonResult GetFabrics(int data)
{
//gets the id of the actual page doctype
var page = Umbraco.TypedContent(data);
//fabricsCollection underneath returns null
var fabricsCollection = page.GetPropertyValue<IEnumerable<IPublishedContent>>("fabricsCollection");
return Json(fabricsCollection);
}
}
и вызов ajax, который отлично работает:
$(".clearAll-desktop").click(function () {
event.preventDefault;
var pageId = $(".curtains-module").attr('id');
var fabrics = "@Model.FabricsCollection.ToString()";
debugger;
console.info(pageId);
$.ajax({
url: '/umbraco/Surface/CurtainsModuleSurface/GetFabrics',
type: 'POST',
data: { data: pageId, collectionName: fabrics },
dataType: 'string',
success: function (data1) {
console.info('success');
}
});
return false;
})
Я застрял здесь на несколько дней и не знаю, что делаю не так. Кто-нибудь с ясным умом может определить, что я делаю не так?
Ой, извините за это. Если вы видите код в JsonResult, «fabricsCollection» возвращает null, как если бы он не был частью текущей страницы, которую я получаю. Он есть в комментариях в моем коде, но я обновлю вопрос, чтобы он был более читабельным.
Так в чем проблема? Насколько я могу прочитать / понять, все работает или вы не уточняете, что не так.