none
更新完listview后,弹出一个对话框alert("更新成功"),但是当我点刷新的时候,他老是弹,能不能让他不弹。 RRS feed

  • 问题

  • protected void lv_Rygl_ItemUpdating(object sender, ListViewUpdateEventArgs e)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand("update [user] set xm=@xm where id=@id", conn))
                    {
                        string id = lv_Rygl.DataKeys[e.ItemIndex].Value.ToString();
                        string xm=(lv_Rygl.Items[e.ItemIndex].FindControl("txt_Xm") as TextBox).Text.ToString();
                        cmd.Parameters.AddWithValue("@xm",xm);
                        cmd.Parameters.AddWithValue("@id",id);
                        if (cmd.ExecuteNonQuery() > 0)
                        {
                            ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "", "alert('更新成功');", true);
                            lv_Rygl.EditIndex = -1;
                            bind_Lv_Rygl();//数据绑定
                        }
                    }
                }
            }
    2009年4月18日 1:24

答案

  • 我不能确定我的想法是否正确,但是我想是不能的,因为你已经在页面注册了Script,刷新的时候会再次执行刚才注册的Script,当然你也可以通过显示一个Div来达到你的提示目的,不过你有什么需求需要刷新呢?
    知识改变命运,奋斗成就人生!
    • 已标记为答案 杜宏宇 2009年4月18日 12:42
    2009年4月18日 7:05
    版主
  • 原因很简单嘛!你的已经写入了这个alert在页面load中,你在alert后面在加上一个History就对了,跳转到原来的页面!不知道说明白没有。
    • 已标记为答案 杜宏宇 2009年4月18日 12:42
    2009年4月18日 12:16

全部回复

  • 我不能确定我的想法是否正确,但是我想是不能的,因为你已经在页面注册了Script,刷新的时候会再次执行刚才注册的Script,当然你也可以通过显示一个Div来达到你的提示目的,不过你有什么需求需要刷新呢?
    知识改变命运,奋斗成就人生!
    • 已标记为答案 杜宏宇 2009年4月18日 12:42
    2009年4月18日 7:05
    版主
  • 原因很简单嘛!你的已经写入了这个alert在页面load中,你在alert后面在加上一个History就对了,跳转到原来的页面!不知道说明白没有。
    • 已标记为答案 杜宏宇 2009年4月18日 12:42
    2009年4月18日 12:16