0

我的 aspx 页面中有一个 Devexpress GridViewgv来显示和管理所有帐户。

<asp:ScriptManager ID="ScriptManager1" runat="server"/>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
 <ContentTemplate>
<dx:ASPxGridView ID="gv" runat="server"
        AutoGenerateColumns="False"  
        GridLines="None"  
        AllowPaging="true"  
        CssClass="mGrid" > 
        <SettingsBehavior AllowSelectByRowClick="True" AllowSelectSingleRowOnly="True"/>
     <Styles>
          <Header BackColor="#4FC9C4" Font-Bold="True" ForeColor="White"></Header>
      </Styles>

</dx:ASPxGridView>
 </ContentTemplate>
</asp:UpdatePanel>

Gridview 的每一行都有一个命令按钮Delete,允许管理员删除除帐户之外的任何 Admin帐户。

看一下后面的代码:

  protected void grid_InitDeleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e)
    {
                //...get username value from e
                if(username=="Admin")
                {
                    e.Cancel = true;
                    gv.CancelEdit();
                    string script = "alert('Cannot delete Admin account');";
                    ScriptManager.RegisterStartupScript(this, typeof(Page), "alert", script, true);
                    return;
                } 
               else 
                 {
                     ...delete account
                 }

     }

当我构建此页面并单击管理员帐户中的“删除”按钮时->没有像我预期的那样显示警报。

尝试调试,程序命中if语句(包括 string script = "alert('Cannot delete Admin account');";)内的所有行,然后执行return

我真的不知道为什么警报不在那里显示???

帮助!!!

4

2 回答 2

0

我建议您将 SettingsBehavior-ConfirmDelete 设置为 true 和 SettingsText-ConfirmDelete=。然后像这个示例行删除一样处理 OnRowDeleting 事件

可以通过 jsproperties ( jsproperties ) 和处理 EndCallback 事件设置属性以显示警报。

于 2013-11-12T14:58:34.937 回答
0

ASPxGridView.EnableCallBacks属性设置为False

看:

详细解释

于 2013-11-07T16:48:08.010 回答