As vezes nos deparamos em desenvolver um control onde precisamos de uma propriedade que contenha uma url de image. Uma boa prática é usarmos o ImageUrlEditor.

No nosso control inserir a propriedade abaixo:

        [UrlProperty, Editor(typeof(System.Web.UI.Design.ImageUrlEditor), typeof(System.Drawing.Design.UITypeEditor)), Bindable(true), DefaultValue("")]
        public string ImageUrl
        {
            get
            {
                string url = (string)this.ViewState["ImageUrl"];
                if (url != null)
                {
                    return url;
                }
                return String.Empty;
            }
            set
            {
                this.ViewState["ImageUrl"] = value;
            }
        }

e ao rederizrmos o componente:

        protected override void Render(HtmlTextWriter writer)
        {
              writer.Write("<img src=\""+ResolveClientUrl(ImageUrl)+"\" />");
        }