Click here to Skip to main content
6,291,722 members and growing! (13,510 online)
Email Password   helpLost your password?
Web Development » ASP.NET » Samples     Intermediate License: The Code Project Open License (CPOL)

Use & Call RegisterStartUpScript, RegisterClientScript and Client-Side Script

By santosh poojari

This article helps a learner to know more about the different ways of calling client side JavaScript from server side code-behind.
C#, Javascript.NET 1.1, Win2K, WinXP, ASP.NET, VS.NET2003, Dev
Version:2 (See All)
Posted:24 Jul 2005
Updated:5 Mar 2009
Views:118,018
Bookmarked:35 times
Announcements
Loading...
 
Search    
Advanced Search
printPrint   Broken Article?Report       add Share
  Discuss Discuss   Recommend Article Email
13 votes for this article.
Popularity: 4.03 Rating: 3.62 out of 5
1 vote, 7.7%
1
2 votes, 15.4%
2
1 vote, 7.7%
3
5 votes, 38.5%
4
4 votes, 30.8%
5

Introduction

One can find this article useful during the development phase of a web application. One requires functionalities such as calling JavaScript client side code for validation, confirming popup, prompting user for unwanted action, etc. at server side code behind.

Implementation

So we start with an example through code.

RegisterStartupScript

Using RegisterStartupScript we can write a JavaScript function in code behind and call it from code-behind or from HTML. Look at the code below for reference.

Calling & Writing JavaScript Function from Server Side Code Behind

private void Page_Load(object sender, System.EventArgs e)
{
    string jScriptValidator;
    jScriptValidator="<script> function ReqFieldValidator()" + 
                " { if (document.forms[0].txtField.value == '') \n"; 
    jScriptValidator+="{ alert('TextBox cannot be empty') \n ";
    jScriptValidator+="return false; \n";
    jScriptValidator+="} \n";
    jScriptValidator+=" return true \n";
    jScriptValidator+=" } </script>";
    Page.RegisterStartupScript("regJSval",jScriptValidator);
    btnSubmit.Attributes.Add("onclick","return ReqFieldValidator()");
}

Writing JavaScript Function in Server Side Code Behind and Calling from HTML

//Server side

private void Page_Load(object sender, System.EventArgs e)
{
    string jScript;
    jScript="<script>function JavScriptFn(){alert" + 
      " ('Client Function in javascript is call')}</script>";
}
//HTML side
< A onclick="JavScriptFn()" >
< asp:Label id="Label1" runat="server" Width="281px" 
   ForeColor="#8080FF">Click to call Javascript function.
</asp:Label> >/A >

Writing JavaScript in HTML and Calling it from Code-behind

    <Head >
        <script>
        
        function ReqField1Validator()
        { 
         if (document.forms[0].txtField1.value == '') 
            {
                alert('TextBox cannot be empty') 
                return false
            } 
                return true 
        } 
                
        </script>
    </Head >
private void Page_Load(object sender, System.EventArgs e)
{
    btnOK.Attributes.Add("onclick","return ReqField1Validator()");
}

RegisterClientScriptBlock

Suppose we want JavaScript code to be executed but not a function. In that case, we make use of RegisterClientScriptBlock.RegisterClientScriptBlock which helps to make server side code as well as client side code inline to each other.

private void btnClientBlock_Click(object sender, System.EventArgs e)
{
    string jScript;
    jScript="<script>alert ('Javascript block of code executed')</script>";
    Page.RegisterClientScriptBlock("keyClientBlock",jScript);
    lblSequencial.Text="Remaining part of the code executed";
}

ASP.NET 2.0 RegisterClientScriptBlock/RegisterStartupScript

One can call JavaScript client side function directly from code behind using RegisterStartupScript. If one wants JavaScript to be embedded into codebehind, then make use of RegisterClientScriptBlock:

    <script>
    function fnShowMessage()
    {
        alert(" Invoke Javascript function from Server Side Code Behind ");
    }
    </script>
protected void Button1_Click(object sender, EventArgs e)
    {
        ClientScript.RegisterStartupScript
		(GetType(),"Javascript", "javascript: fnShowMessage(); ",true);
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        ClientScript.RegisterClientScriptBlock(GetType(), "Javascript", 
		"<script>alert('Record Added Successfully')</script>");
    }

Hope you find the above article helpful. Any suggestions are most welcome.

History

  • 25th July, 2005: Initial post
  • 4th March, 2009: Article updated

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

santosh poojari


Member
He is a Team Lead currently working with one of the IT company in India.His overall experience in IT field is 6 years. He is a B.E (computers) graduate from Mumbai University.
His area of Interest is Microsoft Technology : Asp.Net,C#,Web services,SSIS,SSRS,Windows Workflow Foundation 3.0,SQL server 2005,State Machine Compiler,Regular Expression, Enterprise Library3.0,Spring.net,Design Patterns and Architecture Design.He is MCPD-EA Certified.

http://santoshpoojari.blogspot.com
Occupation: Team Leader
Location: India India

Other popular ASP.NET articles:

Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 10 of 10 (Total in Forum: 10) (Refresh)FirstPrevNext
Generalvery helpful !! PinmemberLouisa Chen16:10 28 Jun '07  
GeneralRe: very helpful !! Pinmemberfletchsod5:53 13 Oct '08  
GeneralRegistering a ClientScriptBlock from a code module or dll Pinmembertony_trotter12:23 3 Apr '06  
Questioncan i do the inverse Pinmembermarcoscavaleiro12:11 28 Nov '05  
AnswerRe: can i do the inverse Pinmemberazam's22:01 14 Feb '07  
GeneralJavascript files Pinmemberdudamir8:04 25 Jul '05  
GeneralRe: Javascript files Pinmembersantosh poojari20:07 25 Jul '05  
GeneralRe: Javascript files Pinmemberaprenot10:57 27 Jul '05  
GeneralRe: Javascript files Pinmembersantosh poojari20:45 28 Jul '05  
GeneralRe: Javascript files Pinmemberfreesmile5:17 11 Sep '08  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 5 Mar 2009
Editor: Deeksha Shenoy
Copyright 2005 by santosh poojari
Everything else Copyright © CodeProject, 1999-2009
Web13 | Advertise on the Code Project