Spr*_*ite 1 html asp.net-mvc model umbraco
这是我们第一次尝试 Umbraco,我们正在按照官方教程创建 Arcticle/新闻功能作为示例。
我们基本上从这里开始
因此,首先我们创建了一个主页和一个母版页,以及介于两者之间的所有内容,直到我们到达这一点。
显示的所有内容都有效,我们有一个概述,宏观/部分视图运行良好。
但是当我们想要导航到实际的 ArticleItem 时,我们遇到了标题中提到的错误。
无法将源内容类型 Umbraco.Web.PublishedContentModels.ArticlesItem 绑定到模型内容类型 Umbraco.Web.PublishedContentModels.ArticlesMain。视图模型和内容模型都是 PureLive,版本相同。该应用程序处于不稳定状态,应重新启动。
现在,我的猜测是 Masterpage 作为 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 -->Run Code Online (Sandbox Code Playgroud)
/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>Run Code Online (Sandbox Code Playgroud)
/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/>
}Run Code Online (Sandbox Code Playgroud)
至于文档类型,它们看起来与教程的屏幕截图中完全相同,我当然也可以提供这些,包括设置的权限。
我从 Umbraco 官方论坛得到了一些帮助,结果证明我确实犯了一个简单的错误。
如果有人偶然发现这个问题,我会把它留在这里:
这是由于视图中使用的模型类型不正确造成的。您在 ArticleDetails 视图中使用了 Layout = "ArticleMain.cshtml",这导致 ArticleMain.cshtml 被用作父视图。该视图需要一个 ArticleMain 类型的模型。切换到“Layout=Master.cshtml”应该可以解决问题。至少这似乎是教程中的主视图。
| 归档时间: |
|
| 查看次数: |
4254 次 |
| 最近记录: |