asp.net gridview的一个bug解决办法

文章摘要:抓包发现确实是发了两次请求, 并且第一次请求没有被处理。 偶尔一次把buttontype从image换到button, 点击按钮会向iis发两次请求, 第一次比第二次少八个字节, 导致第一次请求不成功, 因此最容易想到的就是忽略第一次请求, 下面的第一种解决方式就是如此。 目前有两个解决方案, 如果其坐标是null, 则是第一次请求, 因为第一次请 һϢϵͳ








һϢϵͳܱǸύлʵкϵͳĹؼʻIPܵ˷ƣβЧϵͳѼ¼IPύݡע⣬ҪύκΥҹ涨ݣصϢΪgooglesyndication
或者button,如果必须用可以用类似的代码:

<asp:GridView ID="GridView1" runat="server">

<Columns>

<asp:TemplateField>

欢迎访问http://www.computerj.com 电脑街

<ItemTemplate>

<asp:ImageButton runat=server id="ImageButton1" CommandName="Delete"

ImageUrl="" commandargument='<%# DataBinder.Eval(Container,

"RowIndex") %>' OnCommand="ImageButton1_Command" />

</ItemTemplate>

</asp:TemplateField>

</Columns>

</asp:GridView>

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也一直出怪事。刚才把下午不能运行的几个问题在家模拟了一下竟然运行良好!!明天又要头痛了