当前位置: 代码迷 >> ASP.NET >> 【100分】疑难有关问题,请高手出招救援!
  详细解决方案

【100分】疑难有关问题,请高手出招救援!

热度:493   发布时间:2013-02-25 00:00:00.0
【100分】疑难问题,请高手出招救援!!!!
先上代码:
HTML code
<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>

C# code
//账号添加正常,列表会刷新,消息通知也会正常弹出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 + "】失败");        }    }    }


求解为什么

------解决方案--------------------------------------------------------
确实够奇怪的?插入正常,删除异常
------解决方案--------------------------------------------------------
实在不行的话,换个方法试试。

不要纠结于一个思路上!
------解决方案--------------------------------------------------------

再就是我觉得你的ShowMessage肯定有问题,<asp:UpdatePanel中提示消息不能用 page.ClientScript.RegisterStartupScript(提示消息,要用
把你的ShowMessage()替换掉如下看看。
ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.Page.GetType(), "123", "alert('系统异常');", true);

------解决方案--------------------------------------------------------
你用CommandName="Delete"
他会再进RowDeleting事件一次,
------解决方案--------------------------------------------------------
  相关解决方案