关于asp.net中DataGrid的delete事件突然无效的奇怪现象 ( 积分: 100 )

  • 主题发起人 主题发起人 TOM021200
  • 开始时间 开始时间
T

TOM021200

Unregistered / Unconfirmed
GUEST, unregistred user!
我用C#写了个asp.net程序,原本页面中的DataGrid的delete事件可以执行删除相应记录,但在表格加入了JavaScript客户端脚本来实现:当在鼠标移到某一行时,改变Image所显示的图片,使其显示鼠标所指行对应的图片。可是运行该页的时候,相同的页面,如果用该脚本来显示图片之后,在DataGrid的delete事件就无效了,不触发这段代码就没有问题。添加的JavaScript代码如下:
e.Item.Cells[2].Attributes.Add("onmouseover","document.all('Image1').src='../picture/"+e.Item.Cells[9].Text+".jpg'");
e.Item.Cells[2].Attributes.Add("onmouseout","document.all('Image1').src=''");
请教各位高手了!!!
 
我用C#写了个asp.net程序,原本页面中的DataGrid的delete事件可以执行删除相应记录,但在表格加入了JavaScript客户端脚本来实现:当在鼠标移到某一行时,改变Image所显示的图片,使其显示鼠标所指行对应的图片。可是运行该页的时候,相同的页面,如果用该脚本来显示图片之后,在DataGrid的delete事件就无效了,不触发这段代码就没有问题。添加的JavaScript代码如下:
e.Item.Cells[2].Attributes.Add("onmouseover","document.all('Image1').src='../picture/"+e.Item.Cells[9].Text+".jpg'");
e.Item.Cells[2].Attributes.Add("onmouseout","document.all('Image1').src=''");
请教各位高手了!!!
 
经过一夜的测试,我发现代码“document.all('Image1').src=...”导致cookies发生改变,我的这个程序是由index.aspx将客户端的信息写入cookies之后转到当前这一页,上面那段代码就使得index.aspx写入cookies的值发生改变,奇怪!
 
经过耐心的反复的测试,问题终于解决,将IIS的文档中的index.aspx删除掉,使用绝对地址就不会出现这种现象,比如:http://.../index.aspx
奇怪!奇怪!
有那位高手知道这是为什么?
 
可以看出你的删除工作是转向另一个页面来操作!
但是你的删除事件并没有触发任何事件!
所以也没有做删除工作!
 
谢谢chrysalis的回复,
我的删除工作没有由另一个页面来操作,在DataGrid1_DeleteCommand中完成的,
一般情况下可以删除记录,
只是在调用javascript:document.all('Image1').src=''就不行了
 
不触发这样的事件有很多种可能!
可能你并没有向服务器发送!
你可以在Page_Load事件里写入
也可以在DataGrid_DataBind事件里写入
加上这个if (!IsPostBack)
{
e.Item.Cells[2].Attributes.Add("onmouseover","document.all('Image1').src='../picture/"+e.Item.Cells[9].Text+".jpg'");
e.Item.Cells[2].Attributes.Add("onmouseout","document.all('Image1').src=''");

}
 
恩,加个POSTBACK判断一下是否为回应性刷新,确保进入页面才执行此代码
 
我都试过,没有用,这样告诉我你们的QQ或E-Mail地址,我把源码发给你们帮忙看一下,大家一起研究。
我的QQ号是:373754594
 
后退
顶部