All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
配置整合Win+Apache+PHP+MySQL+Tcomcat(或Resin)完全手册_[PHP教程]
Ajax标签导航实例详解-CSS技巧篇_[AJAX教程]
如何在ASP.NET,2.0中使用,Web,Parts_.net资料_编程技术
PHP程序指定目录里的指定后缀名文件为超连接_[PHP教程]
visual c++中标签控件(Tab Control)
GDI+绘制柱型图分析商品月销售情况
Sqlserver消除重复记录_[SQL,Server教程]
asp.nep设计IP地址访问限制程序_[Asp.Net教程]
在,Linux,下运行,ASP.NET_[Asp.Net教程]
ASP.NET生成高质量缩略图通用函数
Reading number is top 10 pictures
BingBingFan apple dew point photo gallery4
Ashlynn Brooke photograph of a group4
Beautiful Japanese beauty(漂亮的日本美女)3
Average female college students3
运动的范冰冰1
Sora aoi on twitter3
Plump, too plump!2
南昌铁路局宜春车务段攸县车站铁路职工福利房被开发商侵占
Kim jong il's mistress, national beauty JinYuJi actor1
运动的范冰冰3
Download software ranking
电车之狼R
Visual C++界面编程技术
jdk1.5
Tram sex maniac 2 (H) rar bag11
linux高级编程
Boxer vs Yellow5
The hero
Boxer's Top ten classic battle3
豪门浪荡史
Unix video tutorial7
aaa published in(发表于) 2013/12/11 8:29:39 Edit(编辑)
ASP.NET的一个bug的发现和解决_.net资料_编程技术

ASP.NET的一个bug的发现和解决_.net资料_编程技术

ASP.NET的一个bug的发现和解决_.net资料_编程技术-你的首页-uuhomepage.com

gridview中的按钮类型用如果用image,触发rowcommand事件时会被执行两次,据说只出现在IE6,IE5、firefox等没有问题,我的IE7也存在同样问题,似乎和IIS版本也有关系,期待微软的补丁。
今天下午一遇到一个问题,gridview 的rowcommand事件会被执行两次,postback也会执行两次,最初还怀疑是调试器的问题,经过察看日志,确定真的被执行了两次。
代码检查了n遍,逐句排除,仍没有找到问题,已经开始怀疑是鼠标了,抓包发现确实是发了两次请求,并且第一次请求没有被处理。偶尔一次把buttontype从image换到button,意外的好了,只被执行了一次,看来问题只出在Imagebutton。
通过google搜索发现有不少人遇到了此问题,确定是asp.net的bug。点击按钮会向iis发两次请求,第一次比第二次少八个字节,导致第一次请求不成功,接着会重新发一次,因此最容易想到的就是忽略第一次请求,下面的第一种解决方式就是如此。
目前有两个解决方案,都不完善,第一个是在rowcommand事件中加入下面的语句:
if (Request["x"] == null && Request["y"] == null)
Response.End();
通过这条语句,判断图片的坐标,如果其坐标是null,则是第一次请求,因为第一次请求无效,结束他。
第二个是微软推荐的:尽量不在gridview里面用imagebutton,而用link或者button,如果必须用可以用类似的代码:




ImageUrl="" commandargument='<%# DataBinder.Eval(Container,
"RowIndex") %>' OnCommand="ImageButton1_Command" />




protected void ImageButton1_Command(object sender, CommandEventArgs e) {
GridView1.DeleteRow(Int32.Parse(e.CommandArgument.ToString()));
}
把imagebuttong加入到TemplateField中,并且在事件中调用deleterow。
不知道还有没有更好的解决方案,下面的论坛详细的讨论了这个问题:
http://www.developersdex.com/asp/message.asp?p=1116&r=4641456&page=2第一页讨论的结果是:只有在button的类型是image的情况下才会有此问题,可以略过不看,后面两页有详细的讨论和解决方式。
今天一天一直在遇到奇怪问题,头大了,相同的代码经常一会可以执行,一会儿不可以,vs2005也一直出怪事。刚才把下午不能运行的几个问题在家模拟了一下竟然运行良好!!明天又要头痛了






添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.