In my previous tutorials, I’d explained how to show alert message from client-side, how to call javascript function from code-behind, confirm message box example using javascript and more cracking tutorials on Asp.net, JavaScript, jQuery here.
Now here in this tutorial, I’ll explain how to show alert message box from server-side or code-behind in asp.net using c# or vb.net with example code.
Show Alert Message from Code-behind – [.aspx]
Following is the complete HTML Markup code that I used in my .aspx page for this demonstration:
<html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>How to show alert message from code-behin in Asp.net</title> <script type="text/javascript"> function alertMessage() { alert('JavaScript Function Called!'); } </script> </head> <body> <form id="form1" runat="server"> <h4>Show alert message from code-behin in Asp.net</h4> <div> <asp:Button ID="btnClientSide" runat="server" OnClientClick="alertMessage()" Text="Client-side" /> <asp:Button ID="btnServerSideMethod1" runat="server" Text="Server-side(Method1)" OnClick="btnServerSideMethod1_Click" /> <asp:Button ID="btnServerSideMethod2" runat="server" Text="Server-side(Method2)" OnClick="btnServerSideMethod2_Click" /> </div> </form> </body> </html>
You can see, i’d added OnClientClick=”alertMessage()” when calling function from client-side. In case of calling javascript function from server-side or code-behind, we need OnClick event as OnClick=”btnServerSideMethod1_Click” and OnClick=”btnServerSideMethod2_Click”.
We need to use ScriptManager.RegisterStartupScript() method to achieve this. Here is the syntax for this method:
ScriptManager.RegisterStartupScript(Control control, Type type, string key, string script, bool addScriptTags);
Now define that event in code-behind as shown below.
Show Alert Message From Code-behind In C# – [.cs]
Following is the C# code:
//This method is used when you defined javascript function and want to call it //So call pre-defined method this way protected void btnServerSideMethod1_Click(object sender, EventArgs e) { ScriptManager.RegisterStartupScript(this, GetType(), "alertMessage", "alertMessage();", true); } //This method is used when you don't want to define javascript method client-side //So call directly this way protected void btnServerSideMethod2_Click(object sender, EventArgs e) { ScriptManager.RegisterStartupScript(this, GetType(), "alertMessage", "alert('Called from code-behind directly!');", true); }
OR
If you are dealing with asp.net UpdatePanel and UpdateProgress, use the following code:
//Following statement is used to call pre-defined javascript function protected void btnServerSide_Click(object sender, EventArgs e) { ScriptManager.RegisterStartupScript(myUpdatePanelID, myUpdatePanelID.GetType(), "myAlert", "alert('Called from code-behind directly!');", true); }
Show Alert Message From Code-behind In Vb.net – [.vb]
Likewise, following is the Vb.net code to display or show alert message:
'This method is used when you defined javascript function and want to call it' 'So call pre-defined method this way' Protected Sub btnServerSideMethod1_Click(ByVal sender As Object, ByVal e As EventArgs) ScriptManager.RegisterStartupScript(Me, Me.GetType(), "alertMessage", "alertMessage();", True) End Sub 'This method is used when you don't want to define javascript method client-side' 'So call directly this way' Protected Sub btnServerSideMethod2_Click(ByVal sender As Object, ByVal e As EventArgs) ScriptManager.RegisterStartupScript(Me, Me.GetType(), "alertMessage", "alert('Called from code-behind directly!');", True) End Sub
OR
If you are dealing with asp.net UpdatePanel and UpdateProgress, use the following code:
'Following statement is used to call pre-defined javascript function' Protected Sub btnServerSide_Click(ByVal sender As Object, ByVal e As EventArgs) ScriptManager.RegisterStartupScript(myUpdatePanelID, myUpdatePanelID.GetType(), "myAlert", "alert('Called from code-behind directly!');", True) End Sub
Example Result
