Running a Client Side Script from Server Side Code in ASP.NET





4.00/5 (1 vote)
How to run a client side script from server side code in ASP.NET
I needed to get a pop-up window to come up in ASP.NET. Now while JavaScript happily does this (with the alert();
function, ASP.NET does not. So I needed to work out how to do it. Another wrinkle in this comes from Ajax. None of the JavaScript code seemed to work when placed in an AJAX page.
As I have now been tasked with changing this code and moving from the Anthem Ajax library to a pure MS solution, it was time for this died in the wool VB/C# developer to get his head around getting these scripts working.
To do this:
- Create a simple ASP.NET Web Project
- Right click with the mouse on the Project title (this will be bold)
- Select ‘Add’ and then ‘New Item’
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestPage.aspx.cs" Inherits="TrustTest.TestPage" %> <!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 runat="server"> <title></title> <script type="text/javascript"> function pageLoad() { } </script> </head> <body> <form id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server"> <Scripts> </Scripts> </asp:ScriptManager> </div> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:Button ID="Button1" runat="server" Text="Press Me!" onclick="Button1_Click" /> </ContentTemplate> </asp:UpdatePanel> </form> </body> </html>
protected void Button1_Click(object sender, EventArgs e) { ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "alertScript", "alert('you pressed me!');", true); }
- Select ‘AJAX Web Form’
- Add a Button to the page
- Now add a 'click' event handler to the button
- And there it is. Now whenever you click on the button, a pop up appears saying ‘you pressed me!’