在.NET中怎么编写datalist里面控件的事件

比如在:DATALIST里面有三个按钮。。分别完成增加数量和数量减少,还有删除这条记录。。。还有就是在开始定义了publicintzong=0;为了统计你买这个产品的总计... 比如在:DATALIST里面有三个按钮。。分别完成增加数量和数量减少,还有删除这条记录。。。还有就是在开始定义了 public int zong=0; 为了统计你买这个产品的总计。。但是最后他却把你随意产品的价格全部加到了一起。。不只是这个产品的价格。。这样的话该怎么解决? 展开
 我来答
fujie724
推荐于2016-11-10 · TA获得超过1187个赞
知道小有建树答主
回答量:154
采纳率:100%
帮助的人:276万
展开全部

问题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变量进行相应的更新。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式