[asp.net] call a c# button event by js

Costas

Administrator
Staff member
JavaScript:
//test_sync.aspx
<%@ Page Language="C#" %>

<script runat="server">
    
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            this.myDIV.InnerText = "is postback";
        }
        else
        {
            this.myDIV.InnerText = "first land";
        }
    }
    
    protected void savebtn_Click(object sender, EventArgs e)
    {
        System.Diagnostics.Debug.WriteLine("this is a test");
    }
    
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
    <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
    <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet">
    <script type="text/javascript">


        $(function () {

            //button click
            $('#btn').on('click', function (e) {
                e.preventDefault();

                $("#savebtn").click();

                $("#myDIV").html("ERROR");

                return false;
            });

        });
    </script>
</head>

<body>
    <button id="btn" class="btn-primary">
        Push Me
    </button>

    <br>
    <div id="myDIV" runat="server"></div>
    <br>

    <form id="Form1" runat="server">

    <asp:Button ID="savebtn" runat="server" Text="my aspx button" OnClick="savebtn_Click" style="display: none"  />

    </form>
</body>
</html>

 
 
 
 
Using AsyncPostBackTrigger

JavaScript:
//test_async.aspx
<%@ Page Language="C#" %>

<script runat="server">
    
    protected void savebtn_Click(object sender, EventArgs e)
    {
        myDIV.InnerText = "this is a test";
        System.Diagnostics.Debug.WriteLine("this is a test");
    }
    
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
    <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
    <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet">
    <script type="text/javascript">


        $(function () {

            //button click
            $('#btn').on('click', function (e) {
                e.preventDefault();

                $("#savebtn").click();

                $("#myDIV").html("ERROR");
            });

        });
    </script>
</head>

<body>
    <button id="btn" class="btn-primary">
        Push Me
    </button>

<form id="form1" runat="server">
 <asp:ScriptManager EnablePartialRendering="true" runat="server" />

    <asp:UpdatePanel UpdateMode="Conditional" runat="server">
        [TR]
            <asp:AsyncPostBackTrigger ControlID="savebtn" />
        </Triggers>
        <ContentTemplate>

        <br>
        <div id="myDIV" runat="server"></div>
        <br>

         <asp:Button ID="savebtn" runat="server" Text="my aspx button" OnClick="savebtn_Click" style="display: none"  />
        </ContentTemplate>
    </asp:UpdatePanel>

</form>
</body>
</html>
 

or can use __doPostBack
 
http://www.codeproject.com/Articles/667531/doPostBack-function
http://aspalliance.com/895_Understanding_the_JavaScript___doPostBack_Function.2
http://stackoverflow.com/a/3914500

 

ScriptManager.RegisterStartupScript
ref - https://msdn.microsoft.com/en-us/library/z9h4dk8y(v=vs.100).aspx

JavaScript:
<asp:UpdatePanel ID="upMyTest" UpdateMode="Conditional" runat="server">
	[TR]
		<asp:AsyncPostBackTrigger ControlID="btnRefreshTest" />
	</Triggers>
	<ContentTemplate>

		<button id="btn">
			Push Me
		</button>

		<asp:Button ID="btnRefreshTest" ClientIDMode="Static" OnClick="btnRefreshTest_Click" Style="display: none" runat="server" />
		
	</ContentTemplate>
</asp:UpdatePanel>
 
JavaScript:
//code behind
protected void btnRefreshTest_Click(object sender, EventArgs e)
{
	BindTestData(); // #your# Test function

	//Javascript script - executed when the page finishes loading but before the page's OnLoad event is raised
	ScriptManager.RegisterStartupScript(this.btnRefreshTest, this.btnRefreshTest.GetType(), "refreshTestScript", "refreshTestOption();", true);
}
 
JavaScript:
//button click
$('#btn').on('click', function(e) {
	//invoke the update method
	$('#btnRefreshTest').click();
});

function refreshTestOption() {
	//#your# code here
}


sample2
JavaScript:
<asp:UpdatePanel ID="updPANEL" UpdateMode="Conditional" runat="server">
	[TR]
		<asp:AsyncPostBackTrigger ControlID="btnCheckPlayer" />
		<asp:AsyncPostBackTrigger ControlID="btnDeletePlayer" />
	</Triggers>
	<ContentTemplate>
		<asp:Button ID="btnCheckPlayer" OnClick="btnCheckPlayer_Click" CssClass="btn btn-check" style="height:31px;" Text="Check" runat="server" />
		<asp:Button ID="btnDeletePlayer" OnClick="btnDeletePlayer_Click" CssClass="btn btn-danger" style="height:31px;" Text="Delete" runat="server" Visible="false" />
		<div id="divPlayerError" clientidmode="static" style="display:none; width: 100%;padding: 10px;background-color:#F5F5F5;margin: 10px 0 10px 0;" runat="server"></div>
	</ContentTemplate>
</asp:UpdatePanel>

protected void btnCheckPlayer_Click(object sender, EventArgs e)
{
	Session["Player_used"] = 1;
	Session["Player_code_used"] = this.txtPlayerCode.Text;
	
	this.divPlayerError.InnerHtml = "Player Checked";

	this.updPANEL.Update();
	ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "ePlayerError", "$(function(){ $('#divPlayerError').show(); setTimeout(function(){ $('#divPlayerError').hide(); }, 5000); });", true);
}


protected void btnDeletePlayer_Click(object sender, EventArgs e)
{
	if (Session["Player_used"] != null && Session["Player_code_used"] != null)
	{
		int k;

		if (int.TryParse(Session["Player_used"].ToString(), out k))
		{
			Session["Player_used"] = Session["Player_code_used"] = null;

			this.divPlayerError.InnerHtml = "Player Deleted";

			btnDeletePlayer.Visible = false;
			btnCheckPlayer.Visible = true;
			
			this.updPANEL.Update();
			ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "ePlayerError", "$(function(){ $('#divPlayerError').show(); setTimeout(function(){ $('#divPlayerError').hide(); }, 5000); });", true);
		}
		else
		{
			this.divPlayerError.InnerHtml = "Player not found";
			ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "ePlayerError", "$(function(){ $('#divPlayerError').show(); setTimeout(function(){ $('#divPlayerError').hide(); }, 5000); });", true);
		}
	   
	}
}
 
Top