仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 680|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET教程之ASP.NET的一个bug的发明息争决

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:47:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你觉得学习.NET怎么样,我懂的少,问的可能很幼稚,见笑了啊:)asp.net|办理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,假如必需用能够用相似的代码:
<asp:GridViewID="GridView1"runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButtonrunat=serverid="ImageButton1"CommandName="Delete"
ImageUrl=""commandargument=<%#DataBinder.Eval(Container,
"RowIndex")%>OnCommand="ImageButton1_Command"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protectedvoidImageButton1_Command(objectsender,CommandEventArgse){
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也一向出怪事。方才把下战书不克不及运转的几个成绩在家摹拟了一下居然运转优秀!!今天又要头痛了
2003年中微软发布最新版本的ASP.netWebMatrix,对于我们喜欢用Asp.net来编程的朋友实在是个好消息,我也实实在在的将Asp.net更深入的研究了一下,以方便我以后更好的运用它,同时我也讲讲使用它的感受。
小女巫 该用户已被删除
沙发
发表于 2015-1-19 23:47:03 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。
谁可相欹 该用户已被删除
板凳
发表于 2015-1-26 11:59:29 | 只看该作者
HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.
地板
发表于 2015-2-4 14:43:15 | 只看该作者
CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
深爱那片海 该用户已被删除
5#
发表于 2015-2-10 01:44:28 | 只看该作者
主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。
冷月葬花魂 该用户已被删除
6#
发表于 2015-2-28 13:09:28 | 只看该作者
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
透明 该用户已被删除
7#
发表于 2015-3-9 23:48:37 | 只看该作者
ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。
兰色精灵 该用户已被删除
8#
发表于 2015-3-17 03:10:30 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-23 18:05:30 | 只看该作者
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-16 09:25

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表