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
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.