Click here to Skip to main content
12,950,090 members (49,990 online)
Rate this:
Please Sign up or sign in to 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.
Posted 23-Dec-12 21:26pm

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

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.
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)

    Print Answers RSS
Top Experts
Last 24hrsThis month
OriginalGriff 5,829
CHill60 3,460
Maciej Los 2,953
Jochen Arndt 1,975
ppolymorphe 1,820

Advertise | Privacy | Mobile
Web01 | 2.8.170525.1 | Last Updated 24 Dec 2012
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100