/// <summary> /// This is where you implment the simple aspects of rendering your control. The rest /// will be handled by calling RenderControlHelper's RenderControl() method. /// </summary> /// <param name="writer">The writer.</param> public void RenderBaseControl(HtmlTextWriter writer) { writer.AddAttribute("class", "imageupload-group"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.AddAttribute("class", "imageupload-thumbnail"); writer.RenderBeginTag(HtmlTextWriterTag.Div); if (BinaryFileId != null) { _imgThumbnail.ImageUrl = "~/GetImage.ashx?id=" + BinaryFileId.ToString() + "&width=50"; _aRemove.Style[HtmlTextWriterStyle.Display] = "inline"; } else { _imgThumbnail.ImageUrl = "/Assets/Images/no-picture.svg"; _aRemove.Style[HtmlTextWriterStyle.Display] = "none"; } _imgThumbnail.RenderControl(writer); _hfBinaryFileId.RenderControl(writer); _hfBinaryFileTypeGuid.RenderControl(writer); writer.RenderEndTag(); writer.AddAttribute("class", "imageupload-remove"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _aRemove.RenderControl(writer); writer.RenderEndTag(); writer.AddAttribute("class", "imageupload-dropzone"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write("drop / click to upload"); writer.RenderEndTag(); _fileUpload.Attributes["name"] = string.Format("{0}[]", this.ID); _fileUpload.RenderControl(writer); writer.RenderEndTag(); writer.RenderEndTag(); }
/// <summary> /// This is where you implement the simple aspects of rendering your control. The rest /// will be handled by calling RenderControlHelper's RenderControl() method. /// </summary> /// <param name="writer">The writer.</param> public void RenderBaseControl(HtmlTextWriter writer) { writer.AddAttribute("id", this.ClientID); writer.AddAttribute("class", "image-editor-group imageupload-group"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.AddAttribute("class", "image-editor-photo"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.Write(@" <div class='js-upload-progress' style='display:none'> <i class='fa fa-refresh fa-3x fa-spin'></i> </div>"); string backgroundImageFormat = "<div class='image-container' id='{0}' style='background-image:url({1});background-size:cover;background-position:50%'></div>"; string imageDivHtml = ""; if (BinaryFileId != null) { imageDivHtml = string.Format(backgroundImageFormat, this.ClientID + "_divPhoto", this.ResolveUrl("~/GetImage.ashx?id=" + BinaryFileId.ToString() + "&width=150")); } else { imageDivHtml = string.Format(backgroundImageFormat, this.ClientID + "_divPhoto", this.NoPictureUrl); } writer.Write(imageDivHtml); writer.WriteLine(); if (string.IsNullOrEmpty(ButtonCssClass)) { writer.AddAttribute(HtmlTextWriterAttribute.Class, "options"); } writer.RenderBeginTag(HtmlTextWriterTag.Div); // We only show the Modal/Editor if the delete button is enabled and // we have a file already. if (ShowDeleteButton && (BinaryFileId ?? 0) > 0) { _lbShowModal.Style[HtmlTextWriterStyle.Display] = string.Empty; _lbUploadImage.Style[HtmlTextWriterStyle.Display] = "none"; } else { _lbShowModal.Style[HtmlTextWriterStyle.Display] = "none"; _lbUploadImage.Style[HtmlTextWriterStyle.Display] = string.Empty; } _lbShowModal.RenderControl(writer); _lbUploadImage.Text = this.ButtonText; _lbUploadImage.CssClass = this.ButtonCssClass; _lbUploadImage.Attributes["onclick"] = "return false;"; _lbUploadImage.RenderControl(writer); // render the circle check status for when save happens writer.WriteLine(); _lSaveStatus.RenderControl(writer); // Don't render the _aRemove control if there is no BinaryFile to remove. if (BinaryFileId != null) { writer.WriteLine(); _aRemove.RenderControl(writer); } writer.WriteLine(); writer.RenderEndTag(); writer.WriteLine(); _hfBinaryFileId.RenderControl(writer); writer.WriteLine(); _hfOriginalBinaryFileId.RenderControl(writer); writer.WriteLine(); _hfCropBinaryFileId.RenderControl(writer); writer.WriteLine(); _hfBinaryFileTypeGuid.RenderControl(writer); writer.WriteLine(); writer.AddAttribute("class", "image-editor-fileinput"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _fileUpload.Attributes["name"] = string.Format("{0}[]", this.ID); _fileUpload.RenderControl(writer); writer.RenderEndTag(); writer.WriteLine(); writer.RenderEndTag(); // image-editor-photo writer.WriteLine(); writer.RenderEndTag(); // image-editor-group _mdImageDialog.RenderControl(writer); RegisterStartupScript(); }
/// <summary> /// This is where you implement the simple aspects of rendering your control. The rest /// will be handled by calling RenderControlHelper's RenderControl() method. /// </summary> /// <param name="writer">The writer.</param> public void RenderBaseControl(HtmlTextWriter writer) { writer.AddAttribute("id", this.ClientID); writer.AddAttribute("class", "imageupload-group"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.AddAttribute("style", String.Format("width: {0}px; height: {1}px;", this.ThumbnailWidth, this.ThumbnailHeight)); writer.AddAttribute("class", "imageupload-thumbnail"); writer.RenderBeginTag(HtmlTextWriterTag.Div); string thumbnailImageUrl = this.NoPictureUrl; if (IsBinaryFile && BinaryFileId.HasValue) { thumbnailImageUrl = System.Web.VirtualPathUtility.ToAbsolute("~/GetImage.ashx?id=" + BinaryFileId.ToString()); _aRemove.Style[HtmlTextWriterStyle.Display] = "block"; writer.AddAttribute(HtmlTextWriterAttribute.Href, thumbnailImageUrl); writer.AddAttribute(HtmlTextWriterAttribute.Target, "_blank"); writer.RenderBeginTag(HtmlTextWriterTag.A); thumbnailImageUrl += "&width=500"; } else if (NonBinaryFileSrc.IsNotNullOrWhiteSpace()) { string physicalFile = this.Page.Request.MapPath(NonBinaryFileSrc); if (File.Exists(physicalFile)) { thumbnailImageUrl = System.Web.VirtualPathUtility.ToAbsolute(NonBinaryFileSrc); _aRemove.Style[HtmlTextWriterStyle.Display] = "block"; } else { _aRemove.Style[HtmlTextWriterStyle.Display] = "none"; } } else { _aRemove.Style[HtmlTextWriterStyle.Display] = "none"; } writer.AddAttribute("style", string.Format("background-image: url({0});", thumbnailImageUrl)); writer.AddAttribute("class", "imageupload-thumbnail-image"); writer.AddAttribute("id", this.ClientID + "-thumbnail"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.RenderEndTag(); if (BinaryFileId != null) { writer.RenderEndTag(); } _hfBinaryFileId.RenderControl(writer); _hfBinaryFileTypeGuid.RenderControl(writer); _hfContentFileSource.RenderControl(writer); writer.AddAttribute("class", "imageupload-remove"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _aRemove.RenderControl(writer); writer.RenderEndTag(); writer.RenderEndTag(); writer.Write(@" <div class='js-upload-progress upload-progress' style='display:none'> <i class='fa fa-refresh fa-3x fa-spin'></i> </div>"); writer.AddAttribute("class", "imageupload-dropzone"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write("Upload"); writer.RenderEndTag(); _fileUpload.Attributes["name"] = string.Format("{0}[]", this.ID); _fileUpload.RenderControl(writer); writer.RenderEndTag(); RegisterStartupScript(); writer.RenderEndTag(); }
/// <summary> /// This is where you implment the simple aspects of rendering your control. The rest /// will be handled by calling RenderControlHelper's RenderControl() method. /// </summary> /// <param name="writer">The writer.</param> public void RenderBaseControl(HtmlTextWriter writer) { writer.AddAttribute("id", this.ClientID); writer.AddAttribute("class", "imageupload-group"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.AddAttribute("style", String.Format("width: {0}px; height: {1}px;", this.ThumbnailWidth, this.ThumbnailHeight)); writer.AddAttribute("class", "imageupload-thumbnail"); writer.RenderBeginTag(HtmlTextWriterTag.Div); string thumbnailImage = this.NoPictureUrl; if (BinaryFileId != null) { thumbnailImage = System.Web.VirtualPathUtility.ToAbsolute("~/GetImage.ashx?id=" + BinaryFileId.ToString() + "&width=500"); _aRemove.Style[HtmlTextWriterStyle.Display] = "block"; } else { _aRemove.Style[HtmlTextWriterStyle.Display] = "none"; } writer.AddAttribute("style", string.Format("background-image: url({0});", thumbnailImage)); writer.AddAttribute("class", "imageupload-thumbnail-image"); writer.AddAttribute("id", this.ClientID + "-thumbnail"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.RenderEndTag(); _hfBinaryFileId.RenderControl(writer); _hfBinaryFileTypeGuid.RenderControl(writer); writer.AddAttribute("class", "imageupload-remove"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _aRemove.RenderControl(writer); writer.RenderEndTag(); writer.RenderEndTag(); writer.Write(@" <div class='js-upload-progress upload-progress' style='display:none'> <i class='fa fa-refresh fa-3x fa-spin'></i> </div>"); writer.AddAttribute("class", "imageupload-dropzone"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write("Upload"); writer.RenderEndTag(); _fileUpload.Attributes["name"] = string.Format("{0}[]", this.ID); _fileUpload.RenderControl(writer); writer.RenderEndTag(); RegisterStartupScript(); writer.RenderEndTag(); }