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:
- 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">
- Add the attribute onclick to the control at server-side:
btnDelete.Attributes.Add("onclick","if(DeleteData())");
- 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.
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.