在Page_Load事件中,我们通常会处理一些代码,
对于我这样的ASP.NET生手来说,通常会以Windows Application程序的思维来写这些代码,今天下午让我吃尽了苦头,
点一次delete按钮,莫名其妙的总是删除两条记录(原本希望按照唯一key删除一条记录)。经过仔细debug,终于发现问题所在。
原来在点Delete按钮后,页面将重新刷新一次,于是ListVendorPayment方法被执行两次,而导致delete方法也被执行两次(什么原因?我
还没有查到)。但是加了Page.IsPostBack就好了。
导致出错的代码:
ListVendorPayment();
修改后的代码:
if (!Page.IsPostBack)
{
ListVendorPayment();
}
总结:
在page_load事件中,要记住适合的检索方法或者只希望页面打开的时候,执行一次的时候,就要加上if(!Page.IsPostBack){}