I wrote a simple LinkButton adapter to generate more user-friendly href for LinkButtons, so instead of
javascript:__doPostBack('ctl00$ctl00$ContentPlaceHolder3$ContentPlaceHolder1$Friends1$box$FriendsRepeater$ctl00$ctl00$ActionButton','')
^^^^ ugly, right ? :)
you will now have: javascript: ActionButton();
Here it is:
public class LinkButtonAdapter : System.Web.UI.WebControls.Adapters.WebControlAdapter
{
public LinkButtonAdapter()
{
}
protected override void RenderBeginTag(HtmlTextWriter writer)
{
LinkButton c = (LinkButton)Control;
string key;
if( c.CommandArgument.Length == 0)
key = c.ID;
else
key = c.ID + "_" + c.CommandArgument;
Page.RegisterStartupScript( key, "<script type='text/javascript'>function "+key+"() { "+Page.GetPostBackEventReference(Control)+"; }</script>");
writer.AddAttribute( HtmlTextWriterAttribute.Href, "javascript:" + key + "();");
base.RenderBeginTag(writer);
}
}