Впервые мы попробовали Umbraco, и мы следуем официальному руководству по созданию функциональности Arcticle / News в качестве примера.
Мы в основном начинали сверху здесь
Итак, сначала мы создали домашнюю страницу и, следовательно, мастер-страницу, и все, что между ними, пока не достигнем этой точки.
И все отображаемое работает, у нас есть обзор, Macro / Partial View работает отлично.
Но когда мы хотим перейти к фактическому ArticleItem, мы сталкиваемся с ошибкой, упомянутой в заголовке.
Невозможно привязать исходный тип контента Umbraco.Web.PublishedContentModels.ArticlesItem к моделируемого типа контента Umbraco.Web.PublishedContentModels.ArticlesMain. Модели представлений и контента - PureLive, с одинаковой версией. Приложение находится в нестабильном состоянии и должно быть перезапущено.
Теперь, я предполагаю, что это проблема с главной страницей, являющейся шаблоном ArticlesMain, и это заставляет эту модель использоваться / передаваться на страницы ArticlesItem. Но мой MVC довольно ржавый, поэтому, похоже, я не могу сам найти решение в данный момент.
Используемый код скопирован из учебника 1: 1, чтобы убедиться, что мы ничего не испортили, но пока нет игральных костей. Мы также все делали в Umbraco CMS, наша IDE (VS) не использовалась.
/ Views / ArticlesMain.cshtml
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
<ContentModels.ArticlesMain>
@using ContentModels = Umbraco.Web.PublishedContentModels; @{ Layout = "HomePage.cshtml"; }
<div id="main-container">
<div id="main" class="wrapper clearfix">
<section>
<h2>@Umbraco.Field("articlesTitle")</h2>
<p>@Umbraco.Field("articlesBodyText")</p>
<p>@Umbraco.RenderMacro("listArticles")</p>
</section>
</div>
<!-- #main -->
</div>
<!-- #main-container -->
/ Views / ArticlesItem.cshtml
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
<ContentModels.ArticlesItem>
@using ContentModels = Umbraco.Web.PublishedContentModels; @{ Layout = "ArticlesMain.cshtml"; }
<h1>@Umbraco.Field("articlesTitle")</h1>
<article>
<h2>@Umbraco.Field("createDate")</h2>
<p>@Umbraco.Field("articleContents")</p>
</article>
/ Views / MacroPartials / listArticles.cshtml
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@{
var selection = CurrentPage.Children.Where("Visible").OrderBy("CreateDate desc");
@* OrderBy() takes the property to sort by and optionally order desc/asc *@
}
@foreach (var item in selection)
{
<div class="article">
<div class="articletitle"><a href="@item.Url">@item.Name</a></div>
<div class="articlepreview">@Umbraco.Truncate(@item.ArticleContents,100) <a href="@item.Url">Read More..</a></div>
</div>
<hr/>
}
Что касается типов документов, они выглядят точно так же, как на скриншотах из учебника, я, конечно, мог бы предоставить и их, включая установленные разрешения.