ASP C#| MessageBox一直显示

ASP C#| MessageBox一直显示,c#,javascript,asp.net,jquery,C#,Javascript,Asp.net,Jquery,我有一个JavaScript消息框,当我在中继器中单击事件或刷新当前页面时,它会一直显示 以下是函数: public myFunctions() { } /** Display Successs/Error Message **/ public void DisplayUserMessage(string messageType, string messageString, Label ErrorMessageLabel) { ErrorMessageLabel.Visible = t

我有一个JavaScript消息框,当我在中继器中单击事件或刷新当前页面时,它会一直显示

以下是函数:

public myFunctions()
{

}
/** Display Successs/Error Message **/
public void DisplayUserMessage(string messageType, string messageString, Label ErrorMessageLabel)
{
    ErrorMessageLabel.Visible = true;
    ErrorMessageLabel.Text = "<b>" + messageType.Substring(0, 1).ToUpper() + messageType.Substring(1).ToLower() + ":</b> " + messageString;
    ErrorMessageLabel.CssClass = messageType.ToLower() + "_message";
}
public void HideUserMessage(Label ErrorMessageLabel)
{
    ErrorMessageLabel.Visible = false;
    ErrorMessageLabel.Text = "";
    ErrorMessageLabel.CssClass = "";
}
}))

在母版页上:

<!-- Message Box -->
<div id="msgBox" runat="server">
      <asp:Label ID="ErrorMessageLabel" CssClass="" runat="server" Visible="false"></asp:Label>
</div>

有人知道我如何在单击另一个按钮或刷新页面后阻止它继续显示吗?

使用隐藏输入,并在调用成功函数时设置值。所有其他时间重置该值。在document ready函数中,检查隐藏元素的值,然后调用animate函数

<input id="txtHidSuccess" type="hidden" runat="server" />
在成功/错误函数中

txtHidSuccess.Value = "1";
jQuery

$(function(){
    if ($("#txtHidSuccess").val() === "1") {
        /** Success/Error Messages **/
       $('.success_message').animate({ opacity: 1.0 }, 2000).fadeOut('slow');
       $('.error_message').animate({ opacity: 1.0 }, 2000).fadeOut('slow');    
    }
});

我知道您在哪里调用DisplayUserMessage(),但没有看到HideUserMessage()。我的猜测是,当您设置ErrorMessageLabel属性时,它们存储在视图状态中,并在回发中持久化

与使用ASP.NET标签控件不同,您可以尝试使用常规div包装一些文本并使用CSS隐藏它。当应用程序中发生成功事件时,您可以使用向客户端写入显示div的脚本。然后,如果div可见,您的动画功能可以淡出div

if(IsPostBack)
         new myFunctions().HideUserMessage(ErrorMessageLabel);

这起作用了。谢谢@Harie

如果(!postback){ErrorMessageLabel.Text=”“}请使用页面加载函数中的代码并重试
txtHidSuccess.Value = "1";
$(function(){
    if ($("#txtHidSuccess").val() === "1") {
        /** Success/Error Messages **/
       $('.success_message').animate({ opacity: 1.0 }, 2000).fadeOut('slow');
       $('.error_message').animate({ opacity: 1.0 }, 2000).fadeOut('slow');    
    }
});
if(IsPostBack)
         new myFunctions().HideUserMessage(ErrorMessageLabel);