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