Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Nico 2 posts 93 karma points
    Nov 17, 2015 @ 10:07
    Nico
    0

    Web api - GetGridHtml not working

    LeBlender is crashing when GetGridHtml is called in WebAPI.

    Example:

       int nodeId = 1300;
        UmbracoHelper helper = new UmbracoHelper(UmbracoContext.Current);
        IPublishedContent samplecontent= helper.TypedContent(nodeId);
        samplecontent.GetGridHtml("grid");
    

    The crash is because of HttpContext.Current.Request["id"] does not exist in LeBlenderHelper.cs. (Line 234)

    When for example

    item.GetValue<string>("text")
    

    is called the code crashed and no value is returned.

    I found a simple workaround, but don't know if this is the right solution.

    Changed the code in LeBlenderHelper.cs. (Line 222 till 245)

     internal static PublishedContentType GetTargetContentType()
            {
                if (UmbracoContext.Current.IsFrontEndUmbracoRequest)
                {
                    return GetUmbracoHelper().AssignedContentItem.ContentType;
                }
                else if (!string.IsNullOrEmpty(HttpContext.Current.Request["doctype"]))
                {
                    return PublishedContentType.Get(PublishedItemType.Content, HttpContext.Current.Request["doctype"]);
                }
                else if(!string.IsNullOrEmpty(HttpContext.Current.Request["id"]))
                {
                    int contenId = int.Parse(HttpContext.Current.Request["id"]);
                    return (PublishedContentType)ApplicationContext.Current.ApplicationCache.RuntimeCache.GetCacheItem(
                        "LeBlender_GetTargetContentType_" + contenId,
                        () =>
                        {
                            var services = ApplicationContext.Current.Services;
                            var contentType = PublishedContentType.Get(PublishedItemType.Content, services.ContentService.GetById(contenId).ContentType.Alias);
                            return contentType;
                        });
                }
                return null;
            }
    

    Can this be fixed in next version?

  • This forum is in read-only mode while we transition to the new forum.

    You can continue this topic on the new forum by tapping the "Continue discussion" link below.

Please Sign in or register to post replies