如何通过编辑/添加新按钮单击devexpress gridview来显示消息框

时间:2012-03-16 19:20:25

标签: asp.net devexpress aspxgridview

我有一个devexpress嵌套gridview。主数据视图和详细网格视图都具有用于编辑和添加新活动的链接按钮。插入新行或更新现有行后,我必须显示一个消息框,说“您的更新已成功保存”。这可以是一个简单的javascript警告框或页面本身显示的消息。 gridviews都使用objectdatasource。我在gridview和objectdatasource的RowUpdated事件中尝试了以下代码:

System.Web.HttpContext.Current.Response.Write(“alert(您的已更新已成功保存”)“);

ClientScript.RegisterStartupScript(this.GetType(),“myalert”,“alert('”+您的更新已成功保存+“');”,true);

但在任何一种情况下,都不会显示任何消息框。如果我在页面上按钮的按钮单击事件中使用相同的代码,那么它工作正常。我事件试图设置asp:Literal控件的文本值。它也没用。非常感谢任何帮助。

感谢

1 个答案:

答案 0 :(得分:4)

处理ASPxGridView.RowInsertedASPxGridView.RowUpdated网格事件,将包含邮件的自定义属性设置为ASPxGridView.JSProperties
然后处理客户端ASPxClientGridView.EndCallback事件以检查自定义属性是否存在并引发警报。

protected void ASPxGridView1_RowUpdated(object sender, ASPxDataUpdatedEventArgs e) {
    if (e.Exception == null) {
        ((ASPxGridView)sender).JSProperties["cpUpdatedMessage"] = "Your update has been saved successfully";
    }
}
<dx:aspxgridview ID="ASPxGridView1" ... onrowupdated="ASPxGridView1_RowUpdated">
    <clientsideevents
        EndCallback="function(s, e) {
                        if (s.cpUpdatedMessage) {
                            alert(s.cpUpdatedMessage);
                            delete s.cpUpdatedMessage;
                        }
                    }"
    />

对RowInserted事件执行相同操作。 DevEx支持中心有类似的example

或者,您可以use solution with e.command参数。