【问题标题】:Sitecore using Glass mapper and MVCSitecore 使用 Glass 映射器和 MVC
【发布时间】:2015-12-20 16:05:14
【问题描述】:

您好,我将 Glass 映射器与 Sitecore MVC 结合使用。我在下面创建了模型。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Test
{
    using Glass.Mapper.Sc.Configuration.Attributes;

        [SitecoreType(AutoMap = true)]
        public class GlassTestModel
        {           
            public virtual string Title { get; set; }
        }
    }

这是我的看法

@inherits Glass.Mapper.Sc.Web.Mvc.GlassView<Test.GlassTestModel>
<div>
<h2>Hello</h2>
<h2>@Model.Title</h2>
</div>

我也试过这第一行

@model Test.GlassTestModel

还有这个

@inherits System.Web.Mvc.WebViewPage<Test.GlassTestModel>

我在 Sitecore 中创建了一个视图渲染。将模型配置为上面使用。 当我渲染视图时,模型字段不会被填充。当我在控制器中进行测试时,我将其用于其他控制器视图,如下所示:

ISitecoreContext ctx = new SitecoreContext();
var item = ctx.GetCurrentItem<Test.GlassTestModel>();

我确实得到了标题字段。有什么想法吗?

【问题讨论】:

  • 你能尝试只从Glass.Mapper.Sc.Web.Mvc.GlassView继承吗?
  • 哪个版本的 Glass Mapper?如果您使用的是 V4,那么您可以简单地使用 @model Test.GlassTestModel 而无需继承语句。
  • 其他 2 只在那里展示我测试的内容。但你的意思是只有这条规则@inherits Glass.Mapper.Sc.Web.Mvc.GlassView 没有? .那么现在将如何选择模型类?还是从 SiteCore 传过来的?我正在使用 v3
  • 我只从nuget添加并开始。我应该编辑配置包括还是编辑 GlassMapperScCustom.cs?
  • 你在控制器中试过var item = ctx.GetCurrentItem&lt;GlassTestModel&gt;();吗?

标签: asp.net sitecore glass-mapper sitecore8 sitecore-mvc


【解决方案1】:

我将我的解决方案迁移到 Glass.Mapper 包的 V4。这行得通。使用 V3,我无法让自动映射工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多