こんにちは、私はglassmapperを使用しています、私はマルチリスト内のすべてのアイテムを読み込みしようとしています。
マイページには、アイテムを選択できるナビゲーション、タイトル、およびマルチリストフィールドがあります。私の問題は、私はサブ項目(カウントは> 0)を読み取ることができる間、プロパティ値はnullです。しかし、サイトコアの基本的なItemプロパティがnullでない FIELDTYPEで問題が解決しなかった これらは私の2つのモデルGlassmapper Sitecore Multilistフィールドが空です
public class Pagebase: ItemBase, INavigation
{
//Page Base
public string PageTitle { get; set; }
public string PageHeading { get; set; }
//Navigation
public string NavigationTitle { get; set; }
public string NavigationDescription { get; set; }
public IEnumerable<Pagebase> SubItems{ get; set; }
}
[SitecoreType(TemplateId = "{7BC902B5-305B-484A-9AD9-6AAEBA48BDD7}", AutoMap = true)]
public interface INavigation
{
[SitecoreField("Navigation Title")]
string NavigationTitle { get; set; }
[SitecoreField("Navigation Description")]
stringNavigationDescription { get; set; }
[SitecoreField("Sub Items")]
IEnumerable<Pagebase> SubItems{ get; set; }
}
ある私の見解では、この
@inherits Glass.Mapper.Sc.Web.Mvc.GlassView<xxx.Pagebase>
<div class-"test">
@Model.NavigationTitle // This has value
@Model.NavigationDescription // This has correct value
@Model.SubItems.Count // Show the correct number of Items selected in Multi list.
// The multilist is again a Pagebase type.
//When i do :
@foreach (var subItem in Model.SubItems)
{
@subItem.NavigationTitle //This is null
@subItem.NavigationDescription // This is null
@@subitem.Id/@subitem.Url/@subitem.Name/// This is not null
}
</div>
私は何をしないのですのようなものです?
のようになります。私はあなたのPagebaseクラスのSitecoreType属性が必要だと思います。 – DougCouto
また、作成したすべてのテンプレートとフィールドが公開されていることを確認してください。 – DougCouto
@Barbosaその場合 - 私はベースアイテムの値を取得すべきではありません。基本アイテムのすべての値を完全にうまく取得しています。 Model.NavigationTileは機能します。失敗したマルチリストのためだけです –