Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: ASP.NET/C#
Expertise: Intermediate
Jun 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
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap