Click here to Skip to main content
15,878,543 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
i just want to simply make a webmethod call from a asp button. When i use a html button it works perfectly but the asp button does not work.

my Default.aspx page is
<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>


      <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
      <script src="Scripts/myjscript.js" type="text/javascript"></script>

      <input type="submit" value="Submit" id="btnSubmit"/><br/>
      <form id="form1" runat="server">
          <asp:Button runat="server" ID="btnasp" Text="ASP Button"/>



and Default.aspx.cs code is

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;

namespace WebApplication1
    public partial class _Default : System.Web.UI.Page
        protected void Page_Load(object sender, EventArgs e)


        public static string getDate()
            return DateTime.Now.ToString();

Jscript file is

$(function () {

    $("#btnSubmit").bind("click", onClick);
    $("#btnasp").bind("click", onASPClick);


function onClick() {

    alert("I am a HTML Submit Button");

function onASPClick() {

    alert("I am a Button");


function callMethod() {
        url: 'Default.aspx/getDate',
        type: "POST",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {


somebody please help.

1 solution

If it were me I wouldn't bind the function to the button like this, but use the 'OnClientClick' attribute directly on the button itself.


<asp:Button runat="server" ID="btnasp" OnClientClick="onASPClick(); return false;" Text="ASP Button"/>

It's important to specify the 'return false' because you want it to perform the click but not submit the form.
Share this answer
Ehtesam Ahmed 24-Dec-12 4:06am    
Thanx Nick
That solved my problem but now i have another problem that the click event fire twice. Can you please help?
Nick Fisher (Consultant) 24-Dec-12 4:09am    
Hmmm. Did you make sure you removed the old line:

$("#btnasp").bind("click", onASPClick);

Now that you've added the 'OnClientClick' command, it may be doing funny things if you're still trying to bind to it the other way.
Ehtesam Ahmed 24-Dec-12 4:33am    
i found the solution i need to add this UseSubmitBehavior="False" :)
Nick Fisher (Consultant) 24-Dec-12 4:37am    
Ah OK, cool. :)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900