【发布时间】:2013-11-12 22:58:34
【问题描述】:
我的 aspx 页面中有一个 Devexpress GridView gv 来显示和管理所有帐户。
<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
我真的不知道为什么那里没有显示警报???
求救!!!
【问题讨论】:
-
您是否尝试在 devtools 中对其进行调试?
-
@Tigran 上面这个grid_InitDeleting是Devexpress GridView的delete默认函数,然后会在函数LoadGridView中被调用:gv.RowDeleting += grid_InitDeleting;
-
我的意思是在浏览器开发工具中调试,实际调试javascript并查看程序是否实际到达代码。
-
Delete 发起回调,回调完成后你应该使用 EndCallback 处理程序执行 js 代码。看看这个question 和答案中引用的问题。
-
@Filip 谢谢你,我在你的推荐答案中找到了解决方案
标签: c# asp.net gridview devexpress