我正在将我的asp.net 应用程序上的ImageButtons 更新为扩展ImageButton 的WebControl,我称之为CSSImageButton。我已经覆盖了渲染方法,所以我可以让它们与 css sprites 一起工作。我已经设法让 OnClick 和 OnClientClick 正常工作。但是有些按钮有 OnCommand,我不知道该怎么做。
public class CSSImageButton : ImageButton
{
public string DivClass { get; set; }
public CSSImageButton()
{
CssClass = "";
}
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
}
public override void RenderBeginTag(HtmlTextWriter writer)
{
writer.Write("<div class=\"" + CssClass + " " + DivClass + "\">");
}
protected override void RenderContents(HtmlTextWriter writer)
{
writer.Write("<a id=\"" + this.ClientID + "\" title=\""+ this.ToolTip+"\"");
if (!String.IsNullOrEmpty(OnClientClick))
{
writer.Write(" href=\"javascript:void(0);\" OnClick = \"" + OnClientClick + "\"");
}
else
{
writer.Write(" href=\"javascript:" + this.Page.GetPostBackEventReference(this, "ButtonClick") + "\"");
}
writer.Write("\"></a>");
}
public override void RenderEndTag(HtmlTextWriter writer)
{
writer.Write("</div>");
}
}