现在的位置: 首页 > 综合 > 正文

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

2013年12月06日 ⁄ 综合 ⁄ 共 1958字 ⁄ 字号 评论关闭

  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);

 

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

 

 

 

 

抱歉!评论已关闭.