日期:2014-05-18  浏览次数:20507 次

在线等,关于datalist。
 

代码如下:

HTML code
<asp:DataList ID="DataList1" runat="server" Height="654px" Width="716px">

                <ItemTemplate>
                    <table>
                        <tr>
                            <td rowspan="3"><img width="160" height="120" src="<%#Eval("CardImage") %>"/></td>
                            <td>&nbsp;</td>
                            <td>卡片代码:<%#Eval("CardTypeId")%></td>
                            <td>&nbsp;</td>
                            <td>卡片名称:<%#Eval("CardTypeName")%></td>
                        </tr>


                        <tr>
                            <td>&nbsp;</td>
                            <td style="color:Blue;">面值:$ <%#Eval("CardPrice")%></td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td style="color:Red;">会员价:$ <%#Double.Parse(Eval("CardPrice").ToString()) * 0.9 %></td>
                            <td>&nbsp;</td>
                            <td style="color:Red;">VIP价:$ <%#Double.Parse(Eval("CardPrice").ToString()) * 0.8 %></td>
                            <td><img width="20" height="20" src="image/u=445894748,3711407159&fm=0&gp=0[1].jpg"/><a href="#">加入购物车</a></td>
                        </tr>

                        <tr>
                            <td></td>
                        </tr>
                    </table>
                </ItemTemplate>

                </asp:DataList>



点击加入购物车怎么获得卡片代码啊?加入购物车暂时用的是html超链接,可以换成Hyperlink或者按钮。只要能得到卡片代码就行。 
主要是在datalist里面,怎么产生加入购物车的事件?怎么获得控件里面的数据啊?新人求帮助,先谢谢各位大神了!

------解决方案--------------------
你可以在前台加个隐藏放卡片代码<input type="hidden" runat="server" id="cardID" value="<%#Eval("CardTypeId")%>" />
在后台
 protected void DataList1_ItemDataBound(object sender,DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string aa = "";
for (var i=0 ;i<this.DataList1.Items.Count;i++)
{
HtmlInputText hid = (HtmlInputText)DataList1.Items[i].FindControl("cardID"); aa=aa+","+ hid.Value;//aa存放就是卡片代码


}
}