从代码隐藏文件(asp.net)触发jQuery事件

时间:2012-02-24 08:34:37

标签: jquery asp.net triggers

我正在开发一个简单的应用程序,它显示了db的联系人列表。可以向数据库添加新联系人,如果成功添加了新联系人,则可以看到这样的消息。

该位置显示在div内的标签中,默认情况下设置为Visible = false。成功添加联系人后,Visible设置为true,并在标签文本中显示一条消息。到目前为止一切都很好。

问题是我希望消息在10秒后消失,为此我想使用jQuery。我需要帮助的是如何从代码隐藏文件中触发jQuery函数。我试图检查元素是否存在,如果是这样,那么就没有任何反应。

提前致谢!

来自背后的代码:

protected void ContactObjectDataSource_Inserted(object sender, ObjectDataSourceStatusEventArgs e) {
        if (e.Exception != null) {
            AddErrorMessage("An error occurred.");
            e.ExceptionHandled = true;
        }
        else {
            successMessage.Visible = true;
            message.Text = "The contact was successfully added!";
        }
    }
来自default.aspx的

    <div id="successMessage" runat="server" visible="False">
            <asp:Label ID="message" runat="server"></asp:Label>
    </div>
来自js文件的

var Capsule = {

    hideMessage: function () {
        setTimeout(function() {
                $("#successMessage").hide("fade", {}, 1000);
        }, 5000);
    }
}

window.onload = Capsule.init;

2 个答案:

答案 0 :(得分:1)

您可以使用以下代码从c#:

调用jquery函数
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "tmp", "<script type='text/javascript'>hideMessage();</script>", false);

答案 1 :(得分:0)

您好,为此,您可以使用Ajax.dll并创建Ajax.Method。

注意:但在此方法中不能使用任何服务器端控件。您需要传递方法中的值,并在客户端显示您的输出消息。 return false也不会回发你的页面。

请参阅以下部分以了解实际实施情况。

Refer this link.