Click here to Skip to main content
Click here to Skip to main content

Use & Call RegisterStartUpScript, RegisterClientScript and Client-Side Script

By , 5 Mar 2009
 

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
Technical Lead
India India
He is presently working as tech arch in one of the leading IT company.He has total 10 years of experience in C#.net. He is a B.E graduate in Computers from Bombay University.
 
Most of his experiences are in designing architect for end to end solutions. His interest areas are WCF,Spring.net,Architecture- Model View Presenter,UML,Webservice,Performance Engineering/tuning,Design patterns,Generics,Enterprise Library,Regular expressions,Silverlight and WWF.
www.santoshpoojari.blogspot.com

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
QuestionSolutionmemberAlireza_136228-Mar-13 16:19 
GeneralMy vote of 5memberIris Star22-Aug-12 21:31 
GeneralMy vote of 5memberP.Salini22-Jun-12 1:17 
GeneralMy vote of 5memberanuj178410-Oct-11 3:23 
QuestionRegistring Client Script in ASP.NETmemberawadhendra tiwari27-Aug-11 2:35 
QuestionUse of 'calling' is misleading [modified]memberGebbetje24-Jun-10 0:42 
GeneralMy vote of 1memberMiguel J23-Mar-10 14:18 
GeneralRe: My vote of 1membervalery possoz4-Jan-12 4:52 
Generalvery helpful !!memberLouisa Chen28-Jun-07 15:10 
GeneralRe: very helpful !!memberfletchsod13-Oct-08 4:53 
GeneralRegistering a ClientScriptBlock from a code module or dllmembertony_trotter3-Apr-06 11:23 
Questioncan i do the inversemembermarcoscavaleiro28-Nov-05 11:11 
AnswerRe: can i do the inversememberazam's14-Feb-07 21:01 
GeneralJavascript filesmemberdudamir25-Jul-05 7:04 
GeneralRe: Javascript filesmembersantosh poojari25-Jul-05 19:07 
GeneralRe: Javascript filesmemberaprenot27-Jul-05 9:57 
GeneralRe: Javascript filesmembersantosh poojari28-Jul-05 19:45 
GeneralRe: Javascript filesmemberfreesmile11-Sep-08 4:17 
GeneralRe: Javascript filesmemberoguzhan.kahyaoglu22-Mar-12 22:53 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web04 | 2.6.130617.1 | Last Updated 5 Mar 2009
Article Copyright 2005 by santosh poojari
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid