快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

百利宫诚信第一品牌:开发花絮:一个DataList的ItemCommand事件意外



在写一个DataList按钮事故时,碰到一个问题:虽然不是很有难度,然则可能会有人碰到而且会和我一样一筹莫展,直到看MSDN时,无意中发清楚明了一句话~

工作是这样子的:

我必要在DataList中插入一个通俗按钮,实现对Item的操作,于是,我就编辑项模版 -- 插入按钮,设置该按钮的CommandName为Button2,然后停止编辑项模版,选中该DataLis百利宫诚信第一品牌t,在属性对话框内按了那个黄色的小闪电标志,双击“ItemCommand”,在事故中写:

if(e.CommandName == "Button2")

{

Label La百利宫诚信第一品牌belX = (Label)e.Item.FindControl("Label1");

string strIn = "insert into orderlog (nusername,nmoname) values ('"+username+"','"+LabelX.Text+"')";

string reu = SC.orderAlready(username,LabelX.Text);

if(reu == "0")

{

SC.INS(strIn);

Page.RegisterStartupScript("","");

}

if(reu == "1")

{

Page.RegisterStartupScript("","");

}

if(reu != "0" && reu != "1")

{

Page.RegisterStartupScript("","");

}

蓝本以为,可以很轻松地实今世码定义的操作,可是不然,断点调试发明根本就不进!于是反复调试,反复掉百利宫诚信第一品牌败!

无奈中,去到 MSDN(http://msdn.microsoft.com/library/chs/default.asp?ur百利宫诚信第一品牌l=/library/chs/vbcon/html/vBTskrespondingtobuttoneventsindatalistitems.asp)看看,发明有这么一段提示:“留意假如您调用了父控件(DataList、Repeater 或 DataGrid 控件)的 DataBind 措施,ItemCommand 事故将不会发生,缘故原由是父控件的内容已经重置。是以,百利宫诚信第一品牌您平日不必要在每次来回时调用 DataBind 措施(即在初始化页时无需反省发还)。”

于是,到cs文件中,将PageLoad中的DataListDataBind代码段外加上if(!Page.IsPostBack),再调试,统统如所期望的那样,顺利履行。

您可能还会对下面的文章感兴趣: