LinkButton 的提交两次问题的解决

今天解决了一件看似奇怪的问题(后来想一想也不奇怪,只是当时作了一天的程序,懵懵懂懂的)。问题是这样的,在我的asp.net应用中点击 LinkButton 按钮以后执行插入数据库的操作。结果发现,在数据库中产生了两条记录。刚开始有点懵。后来想代码和存储过程不能有错。于是就仔细找了一下,结果发现,我的按钮点击事件处理程序执行了两次。经过分析,原来是这样的。

在我的 .aspx文件中,LinkButton 得代码如下:

< asp:LinkButton  Runat ="server"  ID ="UpdateButton"  OnClick ="Insert"   Text ="Add" >
                            添加
</ asp:LinkButton >

而在我的.cs文件中,有如下代码:

protected   void  Insert(  object  sender, System.EventArgs e)
        
{
            
//插入数据的操作        
        }

private   void  InitializeComponent()
        
{    
            
this.UpdateButton.Click += new System.EventHandler(this.Insert);
            
this.Load += new System.EventHandler(this.Page_Load);

        }

我想大家也明白了,代码执行两次的原因就是在 Html 代码里面也有一个 OnClick ="Insert" 而在后面又处理了一次点击时间。所以,我在Html代码中去掉 OnClick代码。结果正常了。想了一下,有时候需要在一个按钮点击以后执行两次代码,是否就能用此方法进行了。呵呵,不过困扰我一个多小时的问题解决了,还是挺高兴的。

你可能感兴趣的:(button)