advertisement
Login | Register   
  Include Code  Search Tips
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Partners & Affiliates
advertisement
advertisement
Tip of the Day
Average Rating: 3.5/5 | Rate this item | 2 users have rated this item.
Expertise: Intermediate
Language: ASP.NET/C#
June 1, 2005
Set Your onclick Event to Occur on the Client Before the Server
Sometimes, you want to handle an event such as a button click on the client first, and then post the click event to the server only under certain conditions. Here's how to make both click events fire:
  1. Create an HTMLControl <input> like this, with the attribute runat set as "server":
    
    <input type="button" id="btnDelete" runat="server" name="Delete" class="clsBtn100" value="Delete">
    
  2. Add the attribute onclick to the control at server-side:
    
    btnDelete.Attributes.Add("onclick","if(DeleteData())");
    
  3. Add the server-side onclick event:
    
    this.btnDelete.ServerClick += new System.EventHandler(this.btnDelete_ServerClick);
    private void btnSave_ServerClick(object sender, System.EventArgs e)
    
    {}
Then you can write the DeleteData() method in client-side JavaScript. If that method returns true, the page will post back to the server, and the btnSave_ServerClick method will execute. However, if the DeleteData() method returns false, the page will not post back.
Huang Rickel
If you have a hot tip and we publish it, we'll pay you. However, due to accounting overhead we no longer pay $10 for a single tip submission. You must accumulate 10 acceptable tips to receive payment. Be sure to include a clear explanation of what the technique does and why it's useful. If it includes code, limit it to 20 lines if possible. Submit your tip here.
Please rate this item (5=best)
 1  2  3  4  5
advertisement
advertisement