首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2012-04-26 
【100分】疑难问题,请高手围观,不吝赐教!!!!在artDialog弹出页面里,有个GridView1,删除功能正常执行,但就是

【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>


/// <param name="updatePanel">UpdatePanel对象</param>
public static void Show(string message, string key, UpdatePanel updatePanel)
{
ScriptManager.RegisterStartupScript(updatePanel, updatePanel.Page.GetType(), key, "alert('" + message + "');", true);
}
[解决办法]

探讨

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

[解决办法]


ShowMessage是在这个页面上定义的吗?还是系统?


[解决办法]
你的弹窗方式不会刷新
[解决办法]
你这种方式最好用ajax,前台就管前台,后台就管后台

[解决办法]
BindGrid(); //刷新GridView1
会不会是再绑定时没有把GridView1原来值清空啊!
[解决办法]
弄个能复现问题的下载链接
[解决办法]
你应该失败会有提示的!!!!!
你可以这样,不管成功失败,只有最后的时候才bind()
我做的全选删除也是这样的,因为绑定的过早,结果只能删除一项!
改改,到外面再bind()就可以了
[解决办法]
ShowMessage("账号删除成功!");
是服务器端执行还是客服端执行的?
[解决办法]
 
改成
ScriptManager.RegisterStartupScript(this, this.GetType(), "str", "<script>alert('账号删除成功')</script>", false);
[解决办法]
BindGrid(); 这个方法应该谁在删除成功以后在调吧?
[解决办法]
探讨

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

[解决办法]

重新绑定BindGrid()要先清空之前的。
baseclass是你自己写的吧,这个的返回值是什么?是大于0的整数吗?
debug 看看有没有异常,或者try catch 把异常输出看看

热点排行