I have a script in my .aspx page (HTML Markup):
<div id="alert">
<asp:Label ID="lblAlert" style="font-size: xx-large" runat="server"></asp:Label>
</div>
<!-- /.alert -->
<script>
function AutoHideAlert(v) {
var al = document.getElementById('<%=lblAlert.ClientID%>');
al.innerText = v;
$("#alert").fadeTo(3500, 500).slideUp(1500, function () {
$("#alert").slideUp(500);
});
}
</script>
I'm calling AutoHideAlert(v) function in aspx.cs file (Code-Behind) using RegisterStartupScript and I have added RegisterStartupScript in ShowMessage method:
private void ShowMessage(string msg)
{
ScriptManager.RegisterStartupScript(this, GetType(), null, "AutoHideAlert('"+msg+"');", true);
}
The problem is when I call ShowMessage method which contains script code line its not working. But when I run script code line then its working; the question is why its not running with ShowMessage?
Edit 1: From @M4N's comment, I have tried it by setting third parameter as "Alert Message" but it still not working.
private void ShowMessage(string msg)
{
ScriptManager.RegisterStartupScript(this, GetType(), "Alert Message", "AutoHideAlert('"+msg+"');", true);
}
I suppose
ScriptManager.RegisterStartupScriptgenerates script before the script with method was generated. As JS executed at the moment browser reads it, so at the moment of executionAutoHideAlertif not existed yet try to use$(document).readyis you have JQueryOr
document.addEventListener('DOMContentLoaded'without JQuery