基本上同 JadyZhu(木独朱) :public string testText { get EnsureChildControls(); { retrun test.Text;} set EnsureChildControls(); { test.Text = value;} } 到底是在设置属性的时候直接写到内部子控件上,还是推迟到控件Render的时候才写上(我是这样的,所以我其实不会写成上面这样的代码),都是可以的,只是执行效率不同。
控件里边有id为test的文本框:public property testText as string get property EnsureChildControls() retrun test.Text end get set property(value as string) EnsureChildControls() test.Text = value end set end property
然后
-------------a,aspx页面的Page_Load事件中----------
//假设你的用户控件所在命名空间为MyUserControls,类名为TestControl
MyUserControl.TestControl testControl=(MyUserControl.TestControl)Page.FindControl("你的用户控件的ID");
testControl.test="你要设置的值";
------------------------------------------------------------------------
正解
在a.ascx中可以进行类似下面的定义:public string testText
{
get
{ retrun test.Text;}
set
{ test.Text = value;}
}在你的页面中定义:
protected a aCtrl;//控件定义
...设定值
aCtrl.testText = "abcdefg"
或引用
string s = aCtrl.testText
用户控件有命名空间的吗???不是定制控件 JadyZhu(木独朱)
没有试验成功,能不能写个完整些的,我测试一下,最好VB来写..
{
get
EnsureChildControls();
{ retrun test.Text;}
set
EnsureChildControls();
{ test.Text = value;}
}
到底是在设置属性的时候直接写到内部子控件上,还是推迟到控件Render的时候才写上(我是这样的,所以我其实不会写成上面这样的代码),都是可以的,只是执行效率不同。
get property
EnsureChildControls()
retrun test.Text
end get
set property(value as string)
EnsureChildControls()
test.Text = value
end set
end property