当前位置: 代码迷 >> ASP.NET >> 【100分】疑难有关问题,请高手围观,不吝赐教!
  详细解决方案

【100分】疑难有关问题,请高手围观,不吝赐教!

热度:4608   发布时间:2013-02-25 00:00:00.0
【100分】疑难问题,请高手围观,不吝赐教!!!!
在artDialog弹出页面里,有个GridView1,删除功能正常执行,但就是不弹出消息框,也不刷新GridView1
  查了好久,也没找到问题在哪里。。。。
  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 + "】失败");
  }
  }
   
  }
期待高人指点指点,不胜感激!!!

------解决方案--------------------------------------------------------
string sql = "delete accounts where Account = @account";
sql语句少个from 能正常删除??
------解决方案--------------------------------------------------------
探讨

string sql = "delete accounts where Account = @account";
sql语句少个from 能正常删除??

------解决方案--------------------------------------------------------
BindGrid(); //刷新GridView1

ShowMessage("账号删除成功!");

从你的先后顺序看 先走了 bind 重新绑定

你先弹出对话框 再刷新 试试

或者先不弹框 看看能不能 bind()方法刷新
------解决方案--------------------------------------------------------
探讨

表现就是这些代码都执行了,就是页面没反应.
现在怀疑artDialog弹出页面有问题,
但又不知道问题在哪里。。。。

------解决方案--------------------------------------------------------
1.顺序改一下看看
ShowMessage("账号删除成功!");
BindGrid(); //刷新GridView1

2.前台页面是否有其他javascipt错误

3.ShowMessage写的有问题

4.未知。
------解决方案--------------------------------------------------------
Reponse.Expire=-1????
------解决方案--------------------------------------------------------
探讨

现在甚至怀疑是不是ASP.NET的运行机制导致的。。。。

------解决方案--------------------------------------------------------
是否有用到ajax,ajax中提示消息是不同的


/// <summary>
/// Page.ClientScript.RegisterStartupScript提示消息
/// 模版页中提示消息不能用此方法,消息中有换行如\r\n,替换成\\r\\n
/// MessageBox.Show( "register", "消息内容!",this);
/// </summary>
/// <param name="message">消息内容</param>
/// <param name="key">要注册的要启动脚本的键,相当于提示消息的一个函数的名字</param>
/// <param name="page">当前页面对象,一般传入this</param>
public static void Show(string message, string key, Page page)
{
if (!page.ClientScript.IsClientScriptBlockRegistered(key))
page.ClientScript.RegisterStartupScript(page.GetType(), key, JavaScript_Head + "alert('" + message + "')" + JavaScript_Foot);
}

/// <summary>
/// ScriptManager.RegisterStartupScript提示消息
/// </summary>
/// <param name="message">消息内容</param>
/// <param name="key">要注册的要启动脚本的键,相当于提示消息的一个函数的名字</param>
  相关解决方案