編集モードでサイトコア ページを開くと、以下のエラー メッセージが表示されます。何が問題と思われるか。
Glass マッパーの流暢な構成を使用していましたが、他のいくつかのクラスでは正常に機能しています。問題は 1 つのクラスだけにあるようで、問題の原因を特定できませんでした。どんな助けでも大歓迎です。
8384 13:46:48 エラー System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object [] 引数) で System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder バインダー, Object[] パラメータ, CultureInfo カルチャ) で System.Reflection.RuntimePropertyInfo.GetValue(Object obj, Object[] インデックス) で Glass. Mapper.Sc.Configuration.SitecoreTypeConfiguration.ResolveItem(Object target, Database database) at Glass.Mapper.Sc.GlassHtml.MakeEditable[T](Expression
1 field, Expression
1 standardOutput, T model, Object parameters, Context context, Database database, TextWriter writer) `ネストされた例外例外: System.Collections.Generic.KeyNotFoundException メッセージ: 指定されたキーがディクショナリに存在しませんでした。ソース: Sitecore.ContentSearch.SearchTypes.SearchResultItem.get_Item(文字列キー) の Sitecore.ContentSearch.Sitecore.ContentSearch.SearchTypes.SearchResultItem.get_Version()
問題の原因となっているコード。
ビューのレンダリング:
@using Glass.Mapper.Sc.Web.Mvc
@inherits GlassView<_RegionsCMS.Presentation.Models.InsightBaseModel>
<div class="nav-container">
<div class="page-nav" role="navigation">
<h1 class="article-title">@Editable(model => model.Insight.Title)</h1>
</div>
コントローラーの定義:
var insight = _sitecoreContext.GetCurrentItem<Insights>();
var model = new InsightBaseModel
{
Insight = insight
};
return View(model);
インサイト クラスの定義:
public class Insights : SearchResultItem {
//Basic Information
public virtual string Title { get; set; }}
流暢な構成:
public static IConfigurationLoader[] GlassLoaders(){
var attributes = new AttributeConfigurationLoader("Glass.Mapper.Sc");
var loader = new SitecoreFluentConfigurationLoader();
var config = loader.Add().AutoMap();
config.Id(x => x.ItemId);
config.Info(x => x.Language).InfoType(SitecoreInfoType.Language);
config.Info(x => x.Version).InfoType(SitecoreInfoType.Version);
config.Info(x => x.Url).InfoType(SitecoreInfoType.Url);
return new IConfigurationLoader[] {attributes ,loader };
}