Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I call a JavaScript function from Asp.Net Code Behind?

This is my JavaScript function :

function WantToSave()
{
    alert('You should save now !');
}

And this is my ASP.NET code behind :

Page.ClientScript.RegisterStartupScript(this.GetType(), "MyKey", "WantToSave();");

The RegisterStartupScript function is reached, that's sure. But it won't trigger my JavaScript function. And that second parameter, it is supposed to be a "Key of the starting script" yes but what should I put there?

like image 714
Antoine Pelletier Avatar asked Sep 10 '15 13:09

Antoine Pelletier


Video Answer


2 Answers

By default, the script is written to the output but without the <script> tags. You probably would have noticed this if you were using your browser's JavaScript console or looking at the resulting HTML on the client. Make sure you familiarize yourself with those tools.

You can have it add the script tags for you with a slightly different overload of the method.

Page.ClientScript.RegisterStartupScript(this.GetType(), "MyKey", "WantToSave();", true);

Or you can add them yourself:

Page.ClientScript.RegisterStartupScript(this.GetType(), "MyKey", "<script>WantToSave();</script>");

The combination of the key string and the type the control was registered with serve to uniquely identify the registered script, in case you later want to unregister it or replace it with a different script. So the key doesn't have to be anything specific, just something unique.

like image 144
mason Avatar answered Oct 18 '22 14:10

mason


You can use script manager register startup script method. It has a bool parameter (last one) called add script tags which add the script tags for you.

ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "WantToSave();",true); 
like image 25
John Paul Avatar answered Oct 18 '22 13:10

John Paul