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)+"\"
/>");
}