1

我有两个用户控件。在第一个用户控件()中,我有一个textbox

现在在我的第二个用户控件(测试)中,我想得到那个值textbox

在我的页面中,当用户在texbox第一个中输入一个值时usercontrol,我怎样才能在第二个的隐藏字段中得到这个usercontrol

我怎样才能做到这一点??

我的用户控件中有这些属性

用户控制

public string Class_ClientId
        {
            get { return txtClass.ClientID; }
        }
public string Class_Text
        {
            get { return Class; }
            set
            {
                if (value != Class)
                {
                    Class = value;
                    txtClass.Text = Class;
                }
            }
        }

测试用户控制

public string KMAT_Text
        {
            get { return KMATName; }
            set
            {
                if (value != KMATName)
                {
                    KMATName = value;
                    txtKmat.Text = KMATName;
                }
            }
        }
 public string Class
        {
            get { return _hdnClass; }
            set
            {
                if (value!= _hdnClass)
                {
                    _hdnClass = value;
                    hdnClass.Value = _hdnClass;
                }
            }
        }
4

1 回答 1

2

有多种方法可以做到这一点。最容易实现的是在第一个用户控件上定义一个更改事件:

public event EventHandler SomethingChanged;

protected void OnSomethingChanged(EventArgs e)
{
   if (SomethingChanged != null)
     SomethingChanged(this, e);
}

public string Class_Text
        {
            get { return Class; }
            set
            {
                if (value != Class)
                {
                    Class = value;
                    txtClass.Text = Class;

                    this.OnSomethingChanged(EventArgs.Empty);
                }
            }
        }

让页面监听它,并让页面将值传递给第二个用户控件。

于 2013-09-26T18:14:34.457 回答