2015-09-23 2 views
2

Привет, я использую Glass Mapper в сочетании с Sitecore MVC. Я создал модель ниже.Sitecore с использованием Glass Mapper и 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>(); 

Я получаю поле заголовка. Есть идеи?

+0

Можете ли вы попытаться наследовать только от 'Glass.Mapper.Sc.Web.Mvc.GlassView'? –

+0

Какая версия Glass Mapper? Если вы используете V4, вы можете просто использовать '@model Test.GlassTestModel' без инструкций наследования. – jammykam

+0

Остальные 2 являются onlu, чтобы показать, с чем я тестировал. Но вы имеете в виду только это правило @inherits Glass.Mapper.Sc.Web.Mvc.GlassView без <>? , Как теперь это будет выглядеть модельный класс? Или это проходит от SiteCore? Я использую v3 – Danny

ответ

0

Я перенес свое решение в V4 пакета Glass.Mapper. Это работает. С V3 я не могу заставить автомат работать.

Смежные вопросы