Call Client-Side Script

2008-04-30


RegisterStartupScript

Using RegisterStartupScript we can write JavaScript function in code behind and call it from code-behind or from HTML. Look at the below code 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"; }

(from : http://www.codeproject.com/aspnet/ClientServer.asp )