• GridView里的按钮事件


    http://www.cnblogs.com/insus/archive/2012/09/22/2697862.html

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;

    /// <summary>
    /// Summary description for CObj
    /// </summary>
    namespace Insus.NET
    {
    public class CObj
    {
    private int _Nbr;
    private int _Val;

    public int Nbr
    {
    get { return _Nbr; }
    set { _Nbr = value; }
    }

    public int Val
    {
    get { return _Val; }
    set { _Val = value; }
    }
    public CObj()
    {
    //
    // TODO: Add constructor logic here
    //
    }
    }
    }

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" Width="230px" OnRowCreated ="GridView1_RowCreated">
    <Columns>
    <asp:TemplateField>
    <HeaderTemplate>
    key
    </HeaderTemplate>
    <ItemTemplate>
    <%# Eval("Nbr") %>
    </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField>
    <HeaderTemplate>
    Value
    </HeaderTemplate>
    <ItemTemplate>
    <asp:Label ID="LabelVal" runat="server" Text='<%# Eval("Val") %>'></asp:Label>
    </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField>
    <HeaderTemplate>
    operator
    </HeaderTemplate>
    <ItemTemplate>
    <asp:Button ID="ButtonAdd" runat="server" Text="+" />&nbsp;&nbsp;
    <asp:Button ID="ButtonSubtract" runat="server" Text="-" />
    </ItemTemplate>
    </asp:TemplateField>
    </Columns>
    </asp:GridView>

    引用  using Insus.NET;

    xxx.aspx.cs代码:

    protected void Page_Load(object sender, EventArgs e)
    {
    if (!IsPostBack)
    {
    Data_Binding();
    }
    }

    private void Data_Binding()
    {
    List<CObj> MyObj = new List<CObj>();

    CObj o = new CObj();
    o.Nbr = 1;
    o.Val = 100;
    MyObj.Add(o);

    this.GridView1.DataSource = MyObj;
    this.GridView1.DataBind();
    }

    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {
    if (e.Row.RowType != DataControlRowType.DataRow) return;

    if (e.Row.FindControl("ButtonAdd") != null)
    {
    var ButtonAdd = e.Row.FindControl("ButtonAdd") as Button;
    ButtonAdd.Click += ButtonAdd_Click;
    }

    if (e.Row.FindControl("ButtonSubtract") != null)
    {
    var ButtonSubtract = e.Row.FindControl("ButtonSubtract") as Button;
    ButtonSubtract.Click += ButtonSubtract_Click;
    }
    }

    private void ButtonAdd_Click(object sender, EventArgs e)
    {
    var button = sender as Button;
    GridViewRow gvr = (GridViewRow)button.Parent.Parent;
    var Label = (Label)this.GridView1.Rows[gvr.RowIndex].FindControl("LabelVal");
    int v = Convert.ToInt32(Label.Text);
    Label.Text = (v + 1).ToString();
    }

    private void ButtonSubtract_Click(object sender, EventArgs e)
    {
    var button = sender as Button;
    GridViewRow gvr = (GridViewRow)button.Parent.Parent;
    var Label = (Label)this.GridView1.Rows[gvr.RowIndex].FindControl("LabelVal");
    int v = Convert.ToInt32(Label.Text);
    Label.Text = (v - 1).ToString();
    }

  • 相关阅读:
    HeapSpray初窥(2014.12)
    CVE-2014-4115漏洞分析(2014.11)
    【原创】oracle提权执行命令工具oracleShell v0.1
    【原创】贴个dirtycow(脏牛漏洞)不死机的exploit
    【CVE-2016-10009】OpenSSH < 7.4
    关于elasticsearch和kibana的时区和日期问题
    这是我写过的最长的正则表达式,没有之一
    三生缘
    【原创】JEECMS v6~v7任意文件上传漏洞(2)
    【原创】JEECMS v6~v7任意文件上传漏洞(1)
  • 原文地址:https://www.cnblogs.com/lacey/p/5652603.html
Copyright © 2020-2023  润新知