日期:2014-05-20  浏览次数:20628 次

DataGrid中的Button模板列定义,每次刷新都会执行函数,是怎么回事?
private   void   Page_Load(object   sender,   System.EventArgs   e)
{
if(!this.IsPostBack)
{
DataGridBand();//   在此处放置用户代码以初始化页面
}
}

public   void   DataGrid1_DeleteCommand(object   source,   System.Web.UI.WebControls.DataGridCommandEventArgs   e)
{
string   guestID=(string)DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
string   StrSql= "select   flag   from   lockIP   where   id= "+guestID;
ds=rs.GetData( "Flag ",StrSql);
string   flag;
flag=ds.Tables[ "Flag "].Rows[0][0].ToString();
if(flag== "1 ")
{
string   SqlStr   = "update   lockIP   set   flag=0   where   id= "+guestID;
rs.ExecuteQuery(SqlStr);
DataGrid1.EditItemIndex=-1;
DataGridBand();
}
else
{
string   SqlStr   = "update   lockIP   set   flag=1   where   id= "+guestID;
rs.ExecuteQuery(SqlStr);
DataGrid1.EditItemIndex=-1;
DataGridBand();
}
//DataGridBand();
}

我的本意是当点击模板列button才会执行的,但是现在是点击模板列执行了,刷新也执行,怎么解决这个问题

------解决方案--------------------
vs就是这样的.
有两种办法,一个是在button的执行事件中加个判断,如果是刷新的话就,肯定会有些参数没有复值.
另一个是屏蔽右键刷新.
------解决方案--------------------
看看你的javascript,是不是给body里加了onload事件,而onload又调用了buttonclic