HTML:
<asp:DataList id="DataList1" DataKeyField="id" runat="server">
<ItemTemplate>
<table cellSpacing="0" cellPadding="0" width="100%">
<tr style="PADDING-LEFT: 12px">
<td style="BORDER-TOP-STYLE: inset; BORDER-RIGHT-STYLE: inset; BORDER-LEFT-STYLE: inset; BORDER-BOTTOM-STYLE: inset"
align="center" width="140" bgColor="#edbe7b"> </td>
<td style="PADDING-RIGHT: 0px" align="center" bgColor="#ffffcc"><FONT style="BACKGROUND-COLOR: #ffffff" face="宋体"><%# DataBinder.Eval(Container.DataItem, "food_class") %></FONT></td>
</tr>
<tr>
<td height="5" colspan="4" bgcolor="000000"></td>
</tr>
</table>
</ItemTemplate>
</asp:DataList><br>
<table width="100%">
<tr>
<td align="right"><FONT face="宋体">
<asp:ImageButton id="ImageButton1" runat="server" ImageUrl="images/addcart.gif"></asp:ImageButton></FONT></td>
</tr>
</table>----------------------------------------
CODE:public void ImageButton1_Click(Object sender, ImageClickEventArgs e)
{ int productID = //这里我怎么取到DataList中ID字段的值????!!!!!!!!!!!!! InventoryDB et = new InventoryDB();
DataRow product = et.GetProduct(productID); Market.OrderList shoppingCart = new Market.OrderList(); shoppingCart.Add(new Market.OrderItem(productID, (String) product["food_name"], Double.Parse(product["UnitPrice"].ToString()), 1)); UpdateShoppingCart(); }int productID = //这里我怎么取到DataList中ID字段的值????!!!!!!!!!!!!!
<asp:DataList id="DataList1" DataKeyField="id" runat="server">
<ItemTemplate>
<table cellSpacing="0" cellPadding="0" width="100%">
<tr style="PADDING-LEFT: 12px">
<td style="BORDER-TOP-STYLE: inset; BORDER-RIGHT-STYLE: inset; BORDER-LEFT-STYLE: inset; BORDER-BOTTOM-STYLE: inset"
align="center" width="140" bgColor="#edbe7b"> </td>
<td style="PADDING-RIGHT: 0px" align="center" bgColor="#ffffcc"><FONT style="BACKGROUND-COLOR: #ffffff" face="宋体"><%# DataBinder.Eval(Container.DataItem, "food_class") %></FONT></td>
</tr>
<tr>
<td height="5" colspan="4" bgcolor="000000"></td>
</tr>
</table>
</ItemTemplate>
</asp:DataList><br>
<table width="100%">
<tr>
<td align="right"><FONT face="宋体">
<asp:ImageButton id="ImageButton1" runat="server" ImageUrl="images/addcart.gif"></asp:ImageButton></FONT></td>
</tr>
</table>----------------------------------------
CODE:public void ImageButton1_Click(Object sender, ImageClickEventArgs e)
{ int productID = //这里我怎么取到DataList中ID字段的值????!!!!!!!!!!!!! InventoryDB et = new InventoryDB();
DataRow product = et.GetProduct(productID); Market.OrderList shoppingCart = new Market.OrderList(); shoppingCart.Add(new Market.OrderItem(productID, (String) product["food_name"], Double.Parse(product["UnitPrice"].ToString()), 1)); UpdateShoppingCart(); }int productID = //这里我怎么取到DataList中ID字段的值????!!!!!!!!!!!!!
解决方案 »
- asp.net怎么抓取一个网站的所有网页
- 创建了一个文本文件,为什么在本地可以正常运行,在服务器上就不能穿件文件了
- 怎么将list<>的值循环取出? 大家一起帮我解决下 , 菜鸟求助!
- asp.net关于同一个页面传值问题
- 请大家进来帮我看一下,这一句话到底是什么意思?谢谢了.
- 将随机数存入cookie的问题
- 请问在datagrid中如何打开编辑摸板,在datalist空件中实现分页功能
- 程序打包中出现的问题,急急急....
- 为何datareader是空的?读不出数据来啊!!
- 如何设定在编辑页面内,用回车键替代TAB键,在各控件上移动光标,急?
- vb.net中的me和c#的this是不是一样的?
- ASP.NET与DreamwaverMX如何结合开发网站
我觉得你可以把在DataList中设一个模板列,把ImageButton放进去,然后在DataList中的事件里面执行你要的代码
OnSelectedIndexChanged="DataList1_Select" borderwidth="0">
<ItemTemplate>
<table cellSpacing="0" cellPadding="0" width="100%">
<tr style="PADDING-LEFT: 12px">
<td style="BORDER-TOP-STYLE: inset; BORDER-RIGHT-STYLE: inset; BORDER-LEFT-STYLE: inset; BORDER-BOTTOM-STYLE: inset"
align="center" width="140" bgColor="#edbe7b"> </td>
<td style="PADDING-RIGHT: 0px" width="100" align="center" bgColor="#ffffcc"><FONT style="BACKGROUND-COLOR: #ffffff" face="宋体"><%# DataBinder.Eval(Container.DataItem, "food_class") %></FONT></td>
</tr>
<tr>
<td height="5" colspan="4" bgcolor="000000"></td>
</tr>
</table>
<table width="100%">
<tr>
<td align="right"><FONT face="宋体">
<asp:ImageButton id="ImageButton1" runat="server" ImageUrl="images/addcart.gif" CommandName="select"></asp:ImageButton></FONT></td>
</tr>
</table>
</ItemTemplate>
<SelectedItemTemplate>
<table cellSpacing="0" cellPadding="0" width="100%">
<tr style="PADDING-LEFT: 12px">
<td style="BORDER-TOP-STYLE: inset; BORDER-RIGHT-STYLE: inset; BORDER-LEFT-STYLE: inset; BORDER-BOTTOM-STYLE: inset"
align="center" width="140" bgColor="#edbe7b"> </td>
<td style="PADDING-RIGHT: 0px" width="100" align="center" bgColor="#ffffcc"><FONT style="BACKGROUND-COLOR: #ffffff" face="宋体"><%# DataBinder.Eval(Container.DataItem, "food_class") %></FONT></td>
</tr>
<tr>
<td height="5" colspan="4" bgcolor="000000"></td>
</tr>
</table>
<table width="100%">
<tr>
<td align="right"><FONT face="宋体">
<asp:ImageButton id="Imagebutton3" runat="server" ImageUrl="images/addcart.gif" CommandName="select"></asp:ImageButton></FONT></td>
</tr>
</table>
</SelectedItemTemplate>
</asp:datalist>
-------------------------------------------------
CODE:
public void DataList1_Select(Object sender, EventArgs e)
{
int productID = Int32.Parse(this.DataList1.DataKeys[DataList1.SelectedIndex].ToString()); InventoryDB et = new InventoryDB();
DataRow product = et.GetProduct(productID); Market.OrderList shoppingCart = new Market.OrderList(); shoppingCart.Add(new Market.OrderItem(productID, (String)product["food_name"], Double.Parse(product["UnitPrice"].ToString()), 1)); UpdateShoppingCart();
}改成这样呢?怎么得到字段ID的值?
在数据绑定的时候,有一个参数如:
this.myList.DataSource = 数据集
this.myList.DataKeyField = "xxx_id";//(设定键字段)
this.myList.DataBind();
只要你指定了这个参数,那么,你在该控件的事件里面就可以这样:
int xxx_id = this.myList.DataKeys[e.Items.ItemIndex].toString();