如何提取datalist中的label控件的值
我的代码如下:
private void DataList_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
{
string id=((Label)e.Item.FindControl("goodsid")).Text;
if(e.CommandName=="state0")
{
Response.Redirect("test.aspx?ID="+id);
}
if(e.CommandName=="state1")
{
Response.Redirect("test.aspx?ID="+id);
}
if(e.CommandName=="image")
{
Response.Redirect("test.aspx?ID="+id);
}
}
goodsid是datalist里的一个Label控件,我用上面的代码取出的值总是空的,实际上它是绑定了值的啊,怎么才能取出来啊!
问题点数:20、回复次数:5Top
1 楼lengyubing_1983(ajax阿贾克斯是荷兰最久负盛名的球队)回复于 2005-09-25 11:07:58 得分 0
DataList前台这样写
<asp:label ID="goodsid" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"goodsid")%>'></asp:label>Top
2 楼zhangxiaopin(zxp)回复于 2005-09-25 11:41:36 得分 0
获把要获取的取放在一个隐隐控件里,然后去取值即可.
Top
3 楼ChengKing((.net: http://blog.csdn.net/ChengKing ))回复于 2005-09-25 11:55:54 得分 0
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlterItem)
{
string id=((Label)e.Item.FindControl("goodsid")).Text;
if(e.CommandName=="state0")
{
Response.Redirect("test.aspx?ID="+id);
}
if(e.CommandName=="state1")
{
Response.Redirect("test.aspx?ID="+id);
}
if(e.CommandName=="image")
{
Response.Redirect("test.aspx?ID="+id);
}
}Top
4 楼zhengying_1983(郑颖)回复于 2005-09-25 12:08:36 得分 0
ChengKing(bantamweight)
我照你说的去做,编译时出错
提示:C:\Inetpub\wwwroot\MySports\DesktopModules\Allgoods\brandgoods.aspx.cs(89): “System.Web.UI.WebControls.ListItemType”并不包含对“AlterItem”的定义
我的datalist还有一个问题,点击偶数项里的按纽好像没用Top
5 楼kemin(可名)回复于 2005-09-25 13:02:37 得分 20
回传时并不是控件的所有属性都会传回服务器,比如在客户端你修改了一个TextBox的value的值和width的值,在服务器你可以取到修改后的value值,但取不到修改后的width的。
值绑定在Label的Text属性上是取不到值的,绑在TextBox的value就可以。
建议使用DataList的DataKeyField和DataKeys属性来操作这种标识Top




