【100分】疑难问题,请高手出招救援!!!!
先上代码:
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always"> <ContentTemplate> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="5" Style="text-align: center" Width="100%" OnRowCommand="GridView1_RowCommand"> <Columns> <asp:BoundField DataField="Account" HeaderText="账号" ReadOnly="true" /> <asp:TemplateField HeaderText="操作"> <ItemTemplate> <asp:LinkButton ID="btndelete" runat="server" CommandName="Delete" Text="删除" CommandArgument='<%#Eval("Account") %>' OnClientClick="return confirm('删除后将无法恢复,确认要删除此行信息吗?')"></asp:LinkButton> </ItemTemplate> </asp:TemplateField> </Columns> <HeaderStyle CssClass="tbg1" /> </asp:GridView> </ContentTemplate></asp:UpdatePanel>
//账号添加正常,列表会刷新,消息通知也会正常弹出protected void btnAdd_Click(object sender, EventArgs e){ string account = this.txtAddAcount.Text.Trim(); SqlParameter[] p = new SqlParameter[] { new SqlParameter("@account", account) }; string sql = "insert into account values(@account)"; if (baseclass.ExecuteSql(sql, p) > 0) { BindGrid(); ShowMessage("账号添加成功!"); Log.WriteLog("用户:【" + model.Username + "】添加账号【" + account + "】"); } else { ShowMessage("系统忙,请稍后再试!"); Log.WriteLog("用户:【" + model.Username + "】添加账号【" + account + "】失败"); }}//删除不正常,数据删除了,但列表没有刷新,消息也没有弹出,页面没任何反应//单步调试,发现代码运行正常,就是页面没反应protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e){ if (e.CommandName == "delete") { string account = e.CommandArgument.ToString().Trim(); string sql = "delete accounts where Account = @account"; SqlParameter[] p = new SqlParameter[] { new SqlParameter("@account", account) }; if (baseclass.ExecuteSql(sql, p) > 0) { BindGrid(); //刷新GridView1 ShowMessage("账号删除成功!"); Log.WriteLog("用户:【" + model.Username + "】删除账号【" + account + "】"); } else { ShowMessage("系统忙,请稍后再试!"); Log.WriteLog("用户:【" + model.Username + "】删除账号【" + account + "】失败"); } } }
Response.Write("<script>alert('删除成功!'),location.href='FileList.aspx'</script>");
[解决办法]
里边要拼接<script>呢!你写了没!
[解决办法]
你试着跳转页面看行不!
[解决办法]
你把CommandName="Delete"改为CommandName="Del" 试试 CommandName="Delete" 会触发RowDeleting的事件
[解决办法]
OnClientClick='return confirm("删除以后不能恢复,你确定要删除吗?")'
注意看你的 引号
[解决办法]
if (baseclass.ExecuteSql(sql, p) > 0)
跟踪这句
[解决办法]
直接把事件放RowDeleting里面去吧
或者换个CommandName
[解决办法]
你是不是在PreRender中做了什么操作了?
[解决办法]
不弹消息,那你在网页源代码中,能看到那些JS代码吗?
[解决办法]
就是啊,你看页面源码里有
账号删除成功 吗