| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1262 人关注过本帖
标题:[求助]为什么执行了四次????
只看楼主 加入收藏
菜鸟先行
Rank: 1
等 级:新手上路
帖 子:157
专家分:0
注 册:2006-1-18
收藏
 问题点数:0 回复次数:14 
[求助]为什么执行了四次????

namespace localhost.backadmin_sub
{
......
private void Page_Load(object sender, System.EventArgs e)
{
........
if(!IsPostBack)
{
datagridBak.DataBind();
}
myConnection.Close();
}
......
public void datagridBak_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName=="delete")
{
e.Item.Cells[3].Attributes.Add("onclick","javascript:return confirm('确实删除此项吗?');");
Response.Write("delete");
}
}
}
以上为删除代码,我点删除后没有弹出confirm消息框,直接输出两个delete,然后再点一下删除才跳出confirm而且同样是输出两个delete,我设断点根程序,发现第一次点删除后,执行了两次
if(e.CommandName=="delete")
{
e.Item.Cells[3].Attributes.Add("onclick","javascript:return confirm('确实删除此项吗?');");
Response.Write("delete");
}
,但是没有跳出消息框,第二次点删除同样执行了两次,弹出消息框,
不明白为什么点一次删除要执行两次事件,而且为什么第一次点删除不能弹出消息框??????郁闷中。。。
请前辈指点,非常感谢

搜索更多相关主题的帖子: void object datagridBak System 
2006-11-03 10:13
小天狼星
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:483
专家分:0
注 册:2006-11-1
收藏
得分:0 
光看这段代码也看不出来什么,你把Response.Write("delete");改成Response.Write("删除");试试

[face=仿宋_GB2312]一生那么长,长不过时间定义下的永远;一生那么短,短不过人海中一次又一次匆忙的擦肩。[/face]
2006-11-03 10:52
菜鸟先行
Rank: 1
等 级:新手上路
帖 子:157
专家分:0
注 册:2006-1-18
收藏
得分:0 
以下是引用小天狼星在2006-11-3 10:52:45的发言:
光看这段代码也看不出来什么,你把Response.Write("delete");改成Response.Write("删除");试试

那就点一次删除,输出两个“删除”了啊,这个是我看程序执行情况的,应该不会有错吧


笨鸟先飞,菜鸟先行
2006-11-03 10:56
菜鸟先行
Rank: 1
等 级:新手上路
帖 子:157
专家分:0
注 册:2006-1-18
收藏
得分:0 
就是说点ButtonColumn CommandName="delete"触发事件,可是这段执行了两次

笨鸟先飞,菜鸟先行
2006-11-03 10:57
小天狼星
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:483
专家分:0
注 册:2006-11-1
收藏
得分:0 
以下是引用菜鸟先行在2006-11-3 10:13:12的发言:
private void Page_Load(object sender, System.EventArgs e)
{
........
if(!IsPostBack)
{
datagridBak.DataBind();
}
myConnection.Close();
}
我想知道这里的“........”是什么?建议你把这些代码都放到“if(!IsPostBack)”里,然后再试试

[face=仿宋_GB2312]一生那么长,长不过时间定义下的永远;一生那么短,短不过人海中一次又一次匆忙的擦肩。[/face]
2006-11-03 12:48
菜鸟先行
Rank: 1
等 级:新手上路
帖 子:157
专家分:0
注 册:2006-1-18
收藏
得分:0 
以下是引用小天狼星在2006-11-3 12:48:31的发言:
我想知道这里的“........”是什么?建议你把这些代码都放到“if(!IsPostBack)”里,然后再试试

哦 ,这里是链接数据库和datagrid链接数据的,代码如下:
SqlConnection myConnection=new SqlConnection(database.connectionstr);
myConnection.Open();
string strjs="select* from JUESEB";
SqlDataAdapter myDataAdapter=new SqlDataAdapter(strjs,myConnection);
DataSet myds=new DataSet();
myDataAdapter.Fill(myds,"JUESEB");
datagridBak.DataSource=myDs.Tables["JUESEB"].DefaultView;


笨鸟先飞,菜鸟先行
2006-11-03 13:10
菜鸟先行
Rank: 1
等 级:新手上路
帖 子:157
专家分:0
注 册:2006-1-18
收藏
得分:0 
为什么要放到里面呢??

笨鸟先飞,菜鸟先行
2006-11-03 13:11
小天狼星
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:483
专家分:0
注 册:2006-11-1
收藏
得分:0 
你试了吗?这样有时候能避免一些不必要的麻烦

[此贴子已经被作者于2006-11-3 14:20:00编辑过]



[face=仿宋_GB2312]一生那么长,长不过时间定义下的永远;一生那么短,短不过人海中一次又一次匆忙的擦肩。[/face]
2006-11-03 14:18
菜鸟先行
Rank: 1
等 级:新手上路
帖 子:157
专家分:0
注 册:2006-1-18
收藏
得分:0 
以下是引用小天狼星在2006-11-3 14:18:38的发言:
你试了吗?这样有时候能避免一些不必要的麻烦

我试了,还是原来那样,郁闷了


笨鸟先飞,菜鸟先行
2006-11-03 14:27
小天狼星
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:483
专家分:0
注 册:2006-11-1
收藏
得分:0 
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
((LinkButton)e.Item.Cells[3].Controls[0]).Attributes.Add("onClick","return confirm('确实删除此项吗?');");
}

你这样写试试,估计是你的if条件写的不好

[face=仿宋_GB2312]一生那么长,长不过时间定义下的永远;一生那么短,短不过人海中一次又一次匆忙的擦肩。[/face]
2006-11-03 14:53
快速回复:[求助]为什么执行了四次????
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049524 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved