在ASP.NET中插入成功/失败时运行javascript函数?

在ASP.NET中插入成功/失败时运行javascript函数?,javascript,asp.net,web,postback,Javascript,Asp.net,Web,Postback,我正在使用ASP.NET实现一个网站,需要一些帮助,以便在提交表单时向用户提供一些反馈 我使用detailsview让用户插入所需的数据,但当插入成功或失败时,我想给用户一些反馈。因此,如果插入成功,我希望运行JS函数以显示成功通知,否则显示错误通知 我试着用 OnInserted="areaInsertHandler" 在SQL数据源上,然后使用以下命令检查异常: protected void areaInsertHandler(Object sender, SqlDataSourceSta

我正在使用ASP.NET实现一个网站,需要一些帮助,以便在提交表单时向用户提供一些反馈

我使用detailsview让用户插入所需的数据,但当插入成功或失败时,我想给用户一些反馈。因此,如果插入成功,我希望运行JS函数以显示成功通知,否则显示错误通知

我试着用

OnInserted="areaInsertHandler"
在SQL数据源上,然后使用以下命令检查异常:

protected void areaInsertHandler(Object sender, SqlDataSourceStatusEventArgs e)
    {
        if (e.Exception != null)
        {
            // There was an error in submitting, show the error notification
            ClientScript.RegisterClientScriptBlock(GetType(), "DialogHandler", "showError();", true);
            e.ExceptionHandled = true;
        }
        else
        {
            // Show success 
            ClientScript.RegisterClientScriptBlock(GetType(), "DialogHandler", "showSuccess();", true);
        }
    }
但当我提交时,两个函数似乎都没有启动。使用浏览器调试器,甚至没有输入JS函数,因此似乎没有调用它们。使用VS调试器,我可以看到确实调用了处理程序,并且执行了ClientScript代码。所以我不确定为什么浏览器中什么都没发生

detailsview位于updatepanel中,如果这有什么区别的话

对于如何处理该问题的任何反馈或其他建议,我们将不胜感激


亲切的问候解决了这个问题。把这个答案留在这里,以防其他人遇到类似的麻烦

问题是我在表单周围使用了updatepanel,这意味着它无法将脚本添加到标题中,因为页面没有按照通常的方式重新加载。相反,它使用的是部分回发,只替换部分正文而不重新加载站点

解决方案是向scriptmanager而不是clientscript注册脚本,如下所示:

ScriptManager.RegisterClientScriptBlock(Page, GetType(), "DialogHandler", "showError();", true);

Easy=)

您在try-catch块中有完整的代码吗?没有。我使用直接连接到数据源的detailsview来为我进行插入。除了上面的OnInserted代码之外,没有其他代码。我还尝试在服务器上使用调试器,然后运行处理程序并执行ClientScript代码。但是,浏览器中不会发生任何事情