您好我已经使用一个文本框创建了名为test.ascs的用户控件。现在我在default.aspx页面中添加了这个用户控件。如何从default.aspx页面访问该文本框值?
有机会吗?
答案 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;
}