如何注销页面.c# Asp.net中的ClientScript

本文关键字:Asp net 中的 ClientScript 何注销 注销 | 更新日期: 2023-09-27 17:53:07

我正在注册java脚本到我的Asp.net代码后面的文件,这是工作良好。现在,我在同一页面上有一些更新面板,问题是每当更新面板中有任何更改时,这个脚本就会自动被调用。我有什么办法能阻止这一切发生吗。我不能从我的页面上删除更新面板,这个脚本也是应用程序的一个非常重要的部分。在这种情况下,我只是调用一个警报(rad警报设置超时功能),当保存按钮被点击或更新例程被调用,而我在更新面板中有几个其他按钮,每当任何按钮注册到更新面板点击,下面的脚本被不情愿地调用。任何人的帮助都会非常感激。

下面是我的页面。ClientScript

                string radalertscript = "<script language='javascript'> Sys.Application.add_load(function(sender, e) {var oWnd = radalert('dialogMessage', 400, 140, 'Saved');window.setTimeout(function () { oWnd.Close(); }, 3000);});</script>";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "radalert", radalertscript);

如何注销页面.c# Asp.net中的ClientScript

您可以为相同的键radalert分配空字符串以删除脚本。

if(some_condition)
    Page.ClientScript.RegisterStartupScript(this.GetType(), "radalert", "");

编辑:根据注释,您可以使它变得简单,而不使用RegisterStartupScript

后面的代码
btnSave.Attributes.Add("", "saveButtonFunction();");
在Javascript

<script language='javascript'>
   Sys.Application.add_load(function(sender, e) {
           if(btnSaveClicked){
              var oWnd = radalert('dialogMessage', 400,140, 'Saved');
              window.setTimeout(function () { oWnd.Close(); }, 3000);
              btnSaveClicked = false;
           }
    });
    btnSaveClicked = false;
    function saveButtonFunction(){
       btnSaveClicked = true;
    };    
</script>

Adil,非常感谢您的回答。我已经遵循了相同的方法,几乎没有什么不同。我已经把JavaScript从我的代码后面的文件,并注册了Sys.Application。Add_load事件如下

    Sys.Application.add_load(DisplayRadAlertHandler);
    function DisplayRadAlertHandler() {
        var getMessage = document.getElementById('<%=radAlertDialogHidden.ClientID%>').value;
        if (getMessage != "") {
            document.getElementById('<%=radAlertDialogHidden.ClientID%>').value = "";
            var oWnd = radalert(getMessage, 400, 140, 'Saved');
            window.setTimeout(function () { oWnd.Close(); }, 3000);
        }
    }

在这里,我将警报消息设置在隐藏的输入字段中,从代码后面的文件中,在上面的事件处理程序中,我只是检查消息是否存在,而不是重置隐藏字段并显示消息。你的方法也是正确的,我已经标记了你的答案,但当我从多个位置(保存按钮,更新例程等)显示我的消息时,通过将值分配给隐藏的输入字段,而不是在上面的事件处理程序中重置看起来更合适。再次感谢您的帮助。