|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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更深入的研究了一下,以方便我以后更好的运用它,同时我也讲讲使用它的感受。 |
|