如何从页面访问usercontrol的值?

时间:2010-04-09 08:54:49

标签: c# asp.net user-controls

您好我已经使用一个文本框创建了名为test.ascs的用户控件。现在我在default.aspx页面中添加了这个用户控件。如何从default.aspx页面访问该文本框值?

有机会吗?

4 个答案:

答案 0 :(得分:6)

我通常直接在test.ascx代码中公开文本框的text属性,如下所示:

public string Text
{
    get { return txtBox1.Text; }
    set { txtBox1.Text = value; }
}

然后你可以从default.aspx后面的代码中获取并设置该文本框,如:

usrControl.Text = "something";
var text = usrControl.Text;

答案 1 :(得分:3)

从默认页面尝试使用您的用户控件查找TextBox。

TextBox myTextBox = userControl.FindControl("YourTextBox") as TextBox;
string text = myTextBox.text;

答案 2 :(得分:3)

如果这是控件的用途,那么在您的用户控件上创建一个公开该属性的公共属性,然后您可以从您的页面访问该属性:

string textBoxValue = myUserControl.GetTheValue;

答案 3 :(得分:2)

如何在使用此用户控件的页面中从USERCONTROL访问文本框的值

第1步:在用户控件中创建一个事件处理程序

public event EventHandler evt;
    protected void Page_Load(object sender, EventArgs e)
    {
        txtTest.Text = "text123";
        evt(this, e);
    }

2:在页面中调用eventhandler

protected void Page_Load(object sender, EventArgs e)
    {
        userCntrl.evt += new EventHandler(userCntrl_evt);
    }

void userCntrl_evt(object sender, EventArgs e)
    {
        TextBox txt = (TextBox)userCntrl.FindControl("txtTest");
        string s = txt.Text;
    }