为什么Glass Mapper返回空值?

Sakthivel

我正在使用Glass V4。我已经建立了MVC Web区域项目。

我已经在主项目(WebProject)中安装了Glass Mapper。

我正在尝试在我的区域项目中进行玻璃铸造。

 public class ContactController : SitecoreController
{
    private readonly ISitecoreContext _context;
    private IGlassHtml _glassHtml;

    public ContactController()
        : this(new SitecoreContext())
    {

    }
    public ContactController(ISitecoreContext context)
    {
        _context = context;
        _glassHtml = new GlassHtml(context);

    }

    // GET: Contact
    public ActionResult ContactUs()
    {
        var db = Sitecore.Context.Database;
        var datasource = db.GetItem(RenderingContext.Current.Rendering.DataSource);

        var ViewModel = new Models.ContactUs();
        ViewModel.Headerstring = datasource.Fields["Headerstring"].Value;
        ViewModel.Substring = datasource.Fields["Substring"].Value;
        ViewModel.Description = ((MultilistField)datasource.Fields["Description"]).GetItems().Select(s => s.Fields["Line"].Value).ToList<string>();

        return View(ViewModel);
    }

    public ActionResult ContactUsGlass()
    {
        var model = _context.GetCurrentItem<ContactUsGlassModel>();
        return View(model);
    }
}

我可以使用“第一个操作方法”来获取值,而不能使用第二个方法。

模型:

public class ContactUs
{
    public string Headerstring { get; set; }
    public string Substring { get; set; }
    public List<string> Description { get; set; }
}

玻璃型号:

public class ContactUsGlassModel
{
    public virtual string Headerstring { get; set; }
    public virtual string Substring { get; set; }
}

我知道我不需要在Glass V4中注册我的命名空间。

马雷克·穆西拉克(Marek Musielak)

您不应该使用_context.GetCurrentItem方法。_context.GetItem改为使用

public ActionResult ContactUsGlass()
{
    var model = context.GetItem<ContactUsGlassModel>(RenderingContext.Current.Rendering.DataSource);
    return View(model);
}

您不想从您的模型中获取模型Sitecore.Context.Item(该方法用于GetCurrentItem方法中。您想从当前渲染的数据源中获取模型。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么 Kotlin 的 mutableListOf() 返回空值

为什么BehaviorSubject总是返回空值?

为什么to_json返回空值?

为什么SSIS查找返回空值?

为什么在Laravel中获取JavaScript总是返回空值?

为什么SCOPE_IDENTITY()返回空值?

为什么tensorflow.rank总是返回空值的形状

为什么在此代码中arr [6]返回空值?

为什么在函数内部调用的函数返回空值?

为什么getAtrribute()在Servlet中返回空值?

为什么这个函数可能返回空值?

为什么异步Task <TResult>总是返回空值

为什么这个 Angular 服务返回空值?

为什么GetAllActorsOfClass返回空?

为什么所有Glass.Mapper字段都应该是虚拟的?

为什么mapper返回null?

为什么下面的函数不返回任何值,它总是返回空

为什么php json数组返回空值,即使它有第一行的值

为什么按钮为我的按钮中的 event.target 返回空值?

为什么 FieldValue.serverTimestamp() 从第一个快照返回空值

为什么在执行bufferedReader.readLine()时返回空值?在Windows的CMD和PowerShell的?

为什么Spring Boot休眠的OneToMany映射子级返回空值?

无法理解为什么此参数返回空值

为什么绑定的List <T>使用foreach循环返回空以在剃刀页面上显示值?

为什么在C#中反序列化我的packages.config返回空值?

为什么即使放置正确的键值后,我的HashMap.get也返回空值?

$ this.text和$ this.value之间的区别以及为什么1返回空值?

为什么数组助手过滤器返回空值

c#无法与firebase连接以及SetTaskAsync为什么使用当前代码返回空值