jQuery在用户控件中淡出FadeOut问题

时间:2010-11-10 07:07:19

标签: jquery

我手中有一个用户控件<asp: Button>。在按钮单击时,我正在尝试将标签中的消息填充到淡入淡出和淡出。标签位于default.aspx页面中。用户控件放在default.aspx。

使用以下代码为fadein fadeout运行jQuery。但是一些fadein淡出的方法是不起作用的,因为这是在用户控制,因为函数没有被触发。如果它在同一页面中。功能被解雇了。

public void AssignData(string strMsg)
{
    if (strMsg == "No Results")
        lblMsgText.ForeColor = System.Drawing.Color.Red;
    else
        lblMsgText.ForeColor = System.Drawing.Color.Green;

    lblMsgText.Text = strMsg;
    RunJavaScriptVallidations();
}

/// <summary>
/// This method is used for validations.
/// </summary>
public void RunJavaScriptVallidations()
{
    string strJavaScript = @"$('#tcPatients_tbsearch_Search1_btnSearch').click(function(){     
            $('#" + lblMsgText.ClientID + @"').fadeIn(1000).fadeOut(2000);
      });";

    ToolkitScriptManager.RegisterStartupScript(Page, GetType(), "Validations", strJavaScript, true);
}

RunJavaScriptVallidations(); - 在页面加载中调用此方法。

关于如何解决这个问题的任何想法。提前致谢。

1 个答案:

答案 0 :(得分:1)

您需要连接控件中按钮的ID,该控件将根据用户控制的位置而更改,因此请使用ClientID,如下所示:< / p>

public void RunJavaScriptVallidations()
{
    string strJavaScript = @"$('#" + btnSearch.ClientID + @"').click(function(){     
            $('#" + lblMsgText.ClientID + @"').fadeIn(1000).fadeOut(2000);
      });";

    ToolkitScriptManager.RegisterStartupScript(this, GetType(), "Validations", strJavaScript, true);
}

同时使用this代替Page,因此它已注册 UserControl,而不是页面注册一次。