数据绑定控件中查找指定ID的控件

  1、如图所示:

1

 

上面的数据显示是使用了一个Reapter控件,代码如下:

 

在表格的每行中都一个ID为txtTotalNumber和id为txtCharName的文本框,现在我点击每行的 Buy 按钮,要获取

按钮前面两个文本框的值,在此之前,我曾使用过javascript 通过prev()方法,可以得到文本框的值,但是相对于操作Javascript来说,总是感觉比较麻烦。

 

现在提供一种新的解决方案,这也是根据Javascript里面的思想想到的,就是返回按钮所在的父级控件,然后在父级

控件里面,根据ID查找子控件(即那两个文本框)

 

先看看代码:

在按钮的Click或者Command事件里面:

 

// 查找按钮的父级控件,然后查找父级控件的子控件集合。

// 因为sender就是指向事件的源,所以可以这么引用

ControlCollection cn = (sender as Control).Parent.Controls;

 

然后我这里单独写了一个方法查找控件

    /// <summary>
    /// 在容器内根据ID查找控件
    /// </summary>
    /// <param name="id"></param>
    /// <param name="cn"></param>
    /// <returns></returns>
    private TextBox FindByID(string id, ControlCollection cn)
    {
        foreach (Control c in cn)
        {
            if (c.ID == id)
            {
                return c as TextBox;
            }
        }

        return null;
    }

 

 

  这样就好办了。只需要根据控件的ID就可以找到控件了。

 

        TextBox txtCharName = null;
        TextBox txtTotalNumber = null;

        txtCharName = FindByID("txtCharName",cn);
        txtTotalNumber = FindByID("txtTotalNumber",cn);

 

  如上所示,就可以获取到文本框内的值,进行下一步的操作了。。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值