Courtesy of Nikhil Vartak, I found I new way to able to perform a postback using an ASP.NET Button control. By default the button control does not fire the __doPostBack javascript event. This method is all good, but does make having a custom client click event a little more complicated.
Another way I have of doing it is by adding a control to the page that does use the __doPostBack function (assuming there isn't one on the page already!).
Add a LinkButton to the page with a width and height of 0px. This will make sure the __doPostBack function is on the page. <asp:LinkButton ID="lb" runat="server" Width="0px" Height="0px" />
Your button can then have an OnClientClick function added to it. This function can have custom javascript in it and fire the __doPostBack function. The example is using jQuery:
__doPostBack($(this).attr('name').replace(/_/g, '$'), '');
Note that the _ is being replaced with a $ (the equivalent of using MyButton.UniqueID).
VERY GOOD
ReplyDelete