gpt4 book ai didi

javascript - 该行的脚本代码不适用于方法

转载 作者:行者123 更新时间:2023-12-03 03:24:45 25 4
gpt4 key购买 nike

我的 .aspx 页面中有一个脚本(HTML 标记):

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

我正在调用AutoHideAlert(v)使用 RegisterStartupScriptaspx.cs 文件(代码隐藏)中运行函数我添加了 RegisterStartupScriptShowMessage方法:

private void ShowMessage(string msg)
{
ScriptManager.RegisterStartupScript(this, GetType(), null, "AutoHideAlert('"+msg+"');", true);
}

问题是当我调用 ShowMessage 时包含脚本代码行的方法不起作用。但是当我运行脚本代码行时它就可以工作了;问题是为什么它不运行 ShowMessage

编辑1:从@M4N的评论中,我尝试将第三个参数设置为 "Alert Message"但它仍然不起作用。

private void ShowMessage(string msg)
{
ScriptManager.RegisterStartupScript(this, GetType(), "Alert Message", "AutoHideAlert('"+msg+"');", true);
}

最佳答案

我想 ScriptManager.RegisterStartupScript 在生成带有方法的脚本之前生成脚本。由于JS在浏览器读取时执行,因此在执行时AutoHideAlert如果还不存在尝试使用 $(document).ready 如果你有 JQuery

ScriptManager.RegisterStartupScript(this, GetType(), "Alert Message",
"$(document).ready(function(){ AutoHideAlert('"+msg+"'); }", true);

或者 document.addEventListener('DOMContentLoaded' 不使用 JQuery

ScriptManager.RegisterStartupScript(this, GetType(), "Alert Message",
"document.addEventListener('DOMContentLoaded',
function(){ AutoHideAlert('"+msg+"'); })", true);

关于javascript - 该行的脚本代码不适用于方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46383658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com