【问题标题】:how to get textbox value from one user control to other in c#如何在c#中从一个用户控件获取文本框值到另一个用户控件
【发布时间】:2013-09-27 02:21:47
【问题描述】:

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

现在在我的第二个用户控件 (Test) 中,我想获取 textbox 的值。

在我的页面中,当用户在第一个usercontroltexbox 中输入一个值时,我怎样才能在第二个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;
                }
            }
        }

【问题讨论】:

  • 您希望何时进行复制?回发?
  • @SystemDown 我在文本框上使用 Jquery 自动填充。现在在我的页面中,我希望当用户从 autofil 中选择一个值时,它也会复制到第二个用户控件的隐藏值(类)

标签: c# javascript asp.net user-controls textbox


【解决方案1】:

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

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

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

【讨论】:

  • 用户控件位于页面内。第一个用户控件可以添加一个事件。该页面侦听要触发的事件。当页面接收到事件被触发时,页面会对第二个控件上的类属性进行分配:uc2.Class = uc1.Class_Text;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-22
  • 1970-01-01
相关资源
最近更新 更多