Call Client-Side Script
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 )