Skip to content

Serialization error when trying to pass model object to child action using action method extension of Donutcache #63

@codeworm47

Description

@codeworm47

I'm passing a model object to Action method extension which recessives an extra parameter (excludeFromParentCache) to determine whether child action should be exclude from cache but I get this error

Type 'ECS.Infrastructure.ViewModels.ProductModel.ProductRichSnippetViewModel' with data contract name 'ProductRichSnippetViewModel:http://schemas.datacontract.org/2004/07/ECS.Infrastructure.ViewModels.ProductModel' is not expected. Consider using a DataContractResolver if you are using DataContractSerializer or add any types not known statically to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding them to the list of known types passed to the serializer'

here is my code in my view
@section RichSnippetJson{ @{ var productRichSnippet = new ECS.Infrastructure.ViewModels.ProductModel.ProductRichSnippetViewModel() { HasActiveSize = Model.Config != null && Model.Config.ProductSizes != null && Model.Config.ProductSizes.Any(p => p.Enabled), ImageUrl = Model.Config != null && Model.Config.ProductImages != null && Model.Config.ProductImages.Any() ? Model.Config.ProductImages.First() : "", ProductId = Model.ProductId, Url = Model.Config != null ? Url.ProductUrl(Model.ProductId, Model.Config.FaTitle) : ECS.Facade.FacadeInterface.Facade.GetAppConfigValue("Seo-Title-Site"), Availibility = (int)Model.Status, AlternateTitle = Model.Config != null ? Model.Config.EnTitle : "", Title = Model.Config != null ? Model.Config.FaTitle : "", BrandFaTitle = Model.Brand.FaTitle, Price = Model.Config != null && Model.Config.PriceInfo != null ? Model.Config.PriceInfo.Discount > 0 ? Model.Config.PriceInfo.DisplayPrice.Replace(",", "") : Model.Config.PriceInfo.PayableAmount.Replace(",", "") : "0", Description = Model.PageDescription }; } @Html.Action("GetRichSnippet", "Product", new { model = productRichSnippet },true) }

Do note that it's ok if I call default action method of mvc, so I think there must be a bug in Donutcache
2017-06-24_14-38-51

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions