在.NET中怎么编写datalist里面控件的事件
比如在:DATALIST里面有三个按钮。。分别完成增加数量和数量减少,还有删除这条记录。。。还有就是在开始定义了publicintzong=0;为了统计你买这个产品的总计...
比如在:DATALIST里面有三个按钮。。分别完成增加数量和数量减少,还有删除这条记录。。。还有就是在开始定义了 public int zong=0; 为了统计你买这个产品的总计。。但是最后他却把你随意产品的价格全部加到了一起。。不只是这个产品的价格。。这样的话该怎么解决?
展开
2个回答
展开全部
问题1:
在DataList中,每一行ItemTemplate里的按钮控件,都可以设定CommandName。
这个属性的意思是,这个按钮要执行什么操作。当点击这个按钮后,会触发DataList的ItemCommand事件。事件中可以根据e.CommandName来执行不同的操作。同时e.CommandArgument可以带上参数,同样也需要你在按钮上设置属性。例如:
<asp:Button ID="btn_Reduction" runat="server" Text="+" CommandName="add" CommandArgument='<%#Eval("ID")%>' />
那么在后台代码里,你就可以这么写:
protected void DataList_ItemCommand(object source, DataListCommandEventArgs e)
{
//DataList的ItemCommand事件,会由DataList里每一行设定了CommandName的控件触发。
//例如你在前台中,为减号设定了"Reduction"
//为加号设定了"add"
//为删除设定了"del"
//则这3个按钮在点击之后,都会触发这个ItemCommand事件。
//并且,事件参数e.CommandName就是你设定那个那个字符串。
//CommandName的意思是命令的名字。除此之外,你还可以为控件设定CommandArgument,作为命令的参数,一般参数设为ID比较妥
switch (e.CommandName)
{
case "Reduction":
DoReduce(e.CommandArgument.ToString());
break;
case "add":
DoAdd(e.CommandArgument.ToString());
break;;
case "del":
DoDel(e.CommandArgument.ToString());
break;
default:
break;
}
}
private void DoDel(string id)
{
//删除这一行的商品的数量操作,写在这个函数里
}
private void DoAdd(string id)
{
//增加这一行商品的数量的操作,写在这个函数里
}
private void DoReduce(string id)
{
//减少这一行商品的数量的操作,写在这个函数里
}
问题2:要统计每个商品的总价。可以采用如下方式:
在你读取出DataTable之后,为DataTable增加一列用于存放商品总价。计算好赋值。
前台DataList里再用
总计:<%#Eval("单个商品总价")%>
的形式读出来就可以了。。
2013-09-16
展开全部
你可以在ItemTemplate中定义一个按钮或LinkButton并设置其相关属性(如:ID,Value等),设置其CommandName="btnUpdate",然后在后台写DataList的_ItemCommand事件,通过判断CommanName执行相应的操作(如:统计更新),这样对zong变量进行相应的更新。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询