/// <exclude /> public static XhtmlDocument Render(IDataReference dataToRender, XhtmlRenderingType renderingType) { Type dataTypeToRender = dataToRender.ReferencedType; IEnumerable<XhtmlRendererProviderAttribute> rendererAttributes = dataTypeToRender.GetCustomInterfaceAttributes<XhtmlRendererProviderAttribute>(); XhtmlRendererProviderAttribute rendererAttribute = rendererAttributes.FirstOrDefault(f => f.SupportedRenderingType == renderingType); if (rendererAttribute == null) throw new NotImplementedException(string.Format("No '{0}' xhtml renderer found for type '{1}'",renderingType, dataTypeToRender.FullName)); IDataXhtmlRenderer renderer = rendererAttribute.BuildRenderer(); return renderer.Render(dataToRender); }
/// <exclude /> public static XhtmlDocument Render(IDataReference dataToRender, XhtmlRenderingType renderingType) { Type dataTypeToRender = dataToRender.ReferencedType; IEnumerable <XhtmlRendererProviderAttribute> rendererAttributes = dataTypeToRender.GetCustomInterfaceAttributes <XhtmlRendererProviderAttribute>(); XhtmlRendererProviderAttribute rendererAttribute = rendererAttributes.FirstOrDefault(f => f.SupportedRenderingType == renderingType); if (rendererAttribute == null) { throw new NotImplementedException(string.Format("No '{0}' xhtml renderer found for type '{1}'", renderingType, dataTypeToRender.FullName)); } IDataXhtmlRenderer renderer = rendererAttribute.BuildRenderer(); return(renderer.Render(dataToRender)); }
/// <exclude /> public static bool CanRender(Type dataTypeToRender, XhtmlRenderingType renderingType) { IEnumerable<XhtmlRendererProviderAttribute> rendererAttributes = dataTypeToRender.GetCustomInterfaceAttributes<XhtmlRendererProviderAttribute>(); return rendererAttributes.Any(f => f.SupportedRenderingType == renderingType); }
/// <summary> /// Created a XHTML Renderer that uses the specified template to create markup. /// The key of the data will be inserted into the specified template where '{id}' is. /// If you spcify '{label}' the system will fetch the value of the label field and insert it. /// You also can use '{field:__a field name__}' syntax to insert a field value. /// Use '~' to create absolute paths. /// Example: <example><a href='~/showProduct.aspx?id={id}'>read more about {label}</a></example> /// </summary> public KeyTemplatedXhtmlRendererAttribute(XhtmlRenderingType renderingType, XhtmlRenderingEncoding renderingEncoding, string formatedTemplate) { this.FormatedTemplate = formatedTemplate; _supportedRenderingType = renderingType; _renderingEncoding = renderingEncoding; }
/// <exclude /> public static bool CanRender(Type dataTypeToRender, XhtmlRenderingType renderingType) { IEnumerable <XhtmlRendererProviderAttribute> rendererAttributes = dataTypeToRender.GetCustomInterfaceAttributes <XhtmlRendererProviderAttribute>(); return(rendererAttributes.Any(f => f.SupportedRenderingType == renderingType)); }