请问c#中如何访问datalist控件中ItemTemplate中的label控件

请问c#中如何访问datalist控件中ItemTemplate中的label控件能不能不用LINKBUTTON来触发,而是自动执行代码... 请问c#中如何访问datalist控件中ItemTemplate中的label控件
能不能不用LINKBUTTON来触发,而是自动执行代码
展开
 我来答
百度网友d242235
2009-09-03 · TA获得超过2385个赞
知道大有可为答主
回答量:1403
采纳率:84%
帮助的人:821万
展开全部
在"源"中指定Label控件的ID,在DataList的ItemCommand事件中取得相应id对应的控件。
"源"代码:
<ItemTemplate>
<div style="text-align:left">
<br />
产品ID: <asp:Label ID="LblProductID" runat="server" Text='<%# Eval("ID") %>'></asp:Label><br />
产品名称:<asp:Label ID="LblName" runat="server" Text='<%# Eval("Name") %>'></asp:Label><br />
产品规格: <%# Eval("Quantity") %><br />
产品价格: <asp:Label ID="LblPrice" runat="server" Text='<%# Eval("Price") %>'></asp:Label><br />
产品描述: <%# Eval("Description") %><br />
<br />
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Buy">Buy</asp:LinkButton>
</div>
</ItemTemplate>

这行<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Buy">Buy</asp:LinkButton>是添加了一个LinkButton按钮,它的CommandName属性是"Buy",是ItemCommand事件的一个标记,表示按下了这个LinkButton按钮。

程序代码(写在ItemCommand事件里面)

protected void DltProduct_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "Buy")
{
// 完成购买

Label lblID = e.Item.FindControl("LblProductID") as Label;
Label lblName = e.Item.FindControl("LblName") as Label;
Label lblPrice = e.Item.FindControl("LblPrice") as Label;

int id = Convert.ToInt32( lblID.Text );
string name = lblName.Text;
decimal price = Convert.ToDecimal( lblPrice.Text);

Profile.Cart.Buy(id, name, price);
Profile.Save();

}
}

那三个Label lblID、lblName、lblPrice就是DataList控件里对应id的Label了,你可以在程序里对他们操作了

写的已经够详细了吧
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式