开发花絮:一个DataList的ItemCommand事件意外

Q826667892

Q826667892

2016-01-29 13:05

开发花絮:一个DataList的ItemCommand事件意外,开发花絮:一个DataList的ItemCommand事件意外

在写一个DataList按钮事件时,遇到一个问题:虽然不是很有难度,但是可能会有人遇到而且会和我一样一筹莫展,直到看MSDN时,无意中发现了一句话~
事情是这样子的:
我需要在DataList中插入一个普通按钮,实现对Item的操作,于是,我就编辑项模版 -- 插入按钮,设置该按钮的CommandName为Button2,然后结束编辑项模版,选中该DataList,在属性对话框内按了那个黄色的小闪电标志,双击ItemCommand,在事件中写:
if(e.CommandName == "Button2") { Label LabelX = (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("","
原本以为,可以很轻松地实现代码定义的操作,可是不然,断点调试发现根本就不进!于是反复调试,反复失败!
无奈中,去到 MSDN(http://msdn.microsoft.com/library/chs/default.asp?url=/library/chs/vbcon/html/vbtskrespondingtobuttoneventsindatalistitems.asp)看看,发现有这么一段提示:注意 如果您调用了父控件(DataList、Repeater 或 DataGrid 控件)的 DataBind 方法,ItemCommand 事件将不会发生,原因是父控件的内容已经重置。因此,您通常不需要在每次往返时调用 DataBind 方法(即在初始化页时无需检查发回)。
于是,到cs文件中,将PageLoad中的DataList DataBind代码段外加上if(!Page.IsPostBack),再调试,一切如所期望的那样,顺利执行。
展开更多 50%)
分享

猜你喜欢

开发花絮:一个DataList的ItemCommand事件意外

电脑网络
开发花絮:一个DataList的ItemCommand事件意外

用DataList控件开发一个简单的留言本程序

ASP
用DataList控件开发一个简单的留言本程序

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

用DataList 控制元件开发的一个简单的留言本程序

电脑网络
用DataList 控制元件开发的一个简单的留言本程序

完美解决一个事件激活多个函数

电脑网络
完美解决一个事件激活多个函数

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

一个方便AJAX开发的通用类

Web开发
一个方便AJAX开发的通用类

如何建立一个 XML 的开发环境

Web开发
如何建立一个 XML 的开发环境

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

WML教程10:分组选择控件(Optgroup)和复杂实例

WML教程10:分组选择控件(Optgroup)和复杂实例

《刀塔传奇》英雄及减甲数据解析

《刀塔传奇》英雄及减甲数据解析
下拉加载更多内容 ↓