ASP.NET C# - GridView -ButtonFiled & CommandName

环境
VS2013
ASP.NET 4.0

GridView怎麽做删除钮与编辑钮.
要做之前,我们要先拿到点下去的是哪一列.
也要知道点到的是删除钮还是编辑钮.
https://ithelp.ithome.com.tw/upload/images/20201208/20106764c4XgxEMIiZ.png
https://ithelp.ithome.com.tw/upload/images/20201208/20106764FBwD0ERjUv.png

GridView 新增资料行BoundField

HeaderText : ID
DataField : ID

GridView 新增资料行ButtonFiled

Button Type : Image
CommandName : xxx 这样就知道点到的是哪一颗按钮了.
HeaderText : xxx
ImageUrl :

GridView 新增资料行ButtonFiled

Button Type : Image
CommandName : 000 这样就知道点到的是哪一颗按钮了.
HeaderText : 000
ImageUrl :

GridView Event

RowCommd :

        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {           
            if (e.CommandName == "xxx")
            {
                int index = Convert.ToInt32(e.CommandArgument);//get点到的那一列
                Button1.Text = "你按到xxx了:"+GridView1 .Rows[index].Cells[0].Text.ToString().Trim() ;//取点到那列的某个值.
            }
            if (e.CommandName == "000")
            {
                int index = Convert.ToInt32(e.CommandArgument);
                Button1.Text = "你按到000了:" + GridView1.Rows[index].Cells[0].Text.ToString().Trim(); ;
            }
        }

GV Bind

        protected void Page_Load(object sender, EventArgs e)
        {
            List<OrderItem> dataSource = new OrderItemData().DataSource;
            this.GridView1.DataSource = dataSource;
            this.GridView1.DataBind(); 
        } 

准备测试资料

/// <summary>
/// 订单项目资料
/// </summary>
public struct OrderItem
{
    /// <summary>
    /// 设定或取得订单编号
    /// </summary>
    public Guid ID { set; get; }
    /// <summary>
    /// 设定或取得产品ID
    /// </summary>
    public Guid ItemID { set; get; }
    /// <summary>
    /// 设定或取得购买数量
    /// </summary>
    public int Count { set; get; }
    /// <summary>
    /// 设定或取得产品名称
    /// </summary>
    public string ItemName { set; get; }
} 

/// <summary>
/// 处理订单项目的资料类别
/// </summary>
public class OrderItemData
{
    /// <summary>
    /// 取得模拟资料来源
    /// </summary>
    public List<OrderItem> DataSource
    {
        get
        {
            Guid itemId_1 = Guid.NewGuid(), itemId_2 = Guid.NewGuid(), itemId_3 = Guid.NewGuid(), itemId_4 = Guid.NewGuid();//随机建立四个产品Id

            List<OrderItem> result = new List<OrderItem>();//结果
            Guid orderId_1 = new Guid("CB843080-755C-4F42-AE2B-A79DE62F503E");//第一笔订单编号
            result.Add(new OrderItem() { ID = orderId_1, ItemID = itemId_1, ItemName = "脚踏车", Count = 2 });
            result.Add(new OrderItem() { ID = orderId_1, ItemID = itemId_2, ItemName = "暖气", Count = 5 });
            result.Add(new OrderItem() { ID = orderId_1, ItemID = itemId_3, ItemName = "肥皂", Count = 10 });

            Guid orderId_2 = new Guid("FE390D81-BDF9-49C8-BD26-C51043FB6F0C");//第二笔订单编号
            result.Add(new OrderItem() { ID = orderId_2, ItemID = itemId_2, ItemName = "暖气", Count = 1 });
            result.Add(new OrderItem() { ID = orderId_2, ItemID = itemId_3, ItemName = "肥皂", Count = 7 });
            result.Add(new OrderItem() { ID = orderId_2, ItemID = itemId_4, ItemName = "滑鼠", Count = 3 });

            return result;
        }
    }
}

ref
https://dotblogs.com.tw/antony77/2011/04/28/23806


<<:  安全设计原则分类(taxonomy of security design principles)

>>:  档案服务器架构设计备忘

Day8 使用分支

大家好我是乌木白,今天我们要讲的是分支(branch)。 什麽是分支(branch)? 分支就是一...

Day 6 - 唯一与职缺有关的工作内容

新鲜人进入职场总是会充满干劲,然後希望能够一步一步克服重重难关突破自己的极限,但是怎麽做的事情越来越...

[Day 14] tinyML开发框架(二):Arm CMSIS 简介

在[Day 10] tinyML整合开发平台介绍有提到小型AI(tinyML)应用程序开发框架(Fi...

数据分析的好夥伴 - Python基础:流程控制与回圈

今天是重头戏。 通常从这边开始就会不太懂程序在干嘛,因此理解其中逻辑非常重要!废话不多说,我们赶快开...

Unity与Photon的新手相遇旅途 | Day21-Photon Lobby UI (上)

今天讲的内容为制作Lobby的一些基本简单UI,内容分为上下两集。 ...