0

gvすべてのアカウントを表示および管理するために、aspx ページにDevexpress GridViewがあります。

<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はステートメント内のすべての行にヒットし (include string script = "alert('Cannot delete Admin account');";)、実行しますreturn

アラートがそこに表示されない理由が本当にわかりませんか???

ヘルプ!!!

4

2 に答える 2