【用户控件】如何在后台代码中设置和获取用户控件中的子控件的属性?

isostar 2003-11-21 05:11:38
请问:
1、如何在后台代码中设置和获取用户控件中的子控件的属性?
2、如何在后台设置和获取用户控件本身的属性?
我在以前的一些帖子中也看到类似的问题和回复,大多使在前台页面实现。
而在后台实现的方法则鲜有提及……
欢迎大家就此做一下讨论,并产生出一个较好的solution :)
请各位高手,不吝赐教!
...全文
161 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
saucer 2003-11-23
  • 打赏
  • 举报
回复
顾名思义,UserControl是以界面为主的,但你可以在你的UserControl加属性/方法/事件,因为本质上,UserControl也是一个类而已

UserControl的缺陷在于设计时的支持差,不能共享于不同项目,但它简单,易设计/修改,对技术人员的要求也不高
isostar 2003-11-23
  • 打赏
  • 举报
回复
谢谢 saucer(思归)
我试了一下,你的方法可以。



此问题基本得到了解决。
菜鸟还有些疑问,Usercontrol的功能是不是有些太有限了一点?与内嵌组件相比,无论属性还是方法似乎都不够强大 -_-
saucer 2003-11-22
  • 打赏
  • 举报
回复
>>>1、如何在后台代码中设置和获取用户控件中的子控件的属性?

add public properties/methods in your codebehind class for your usercontrol and declare in your page class:

protected YourUserControlCodeBehindClass YourUserControlID;

..

if you don't have a codebehind class, you can always do

UserControl c = (UserControl)FindControl("YourUserControlID");

TextBox tb = (TextBox) c.FindControl("YourTextBoxIDInYourUserControl);
tb.Text = "123";

>>>2、如何在后台设置和获取用户控件本身的属性?

if you have a codebehind class for your usercontrol, you can do
protected YourUserControlCodeBehindClass YourUserControlID;

YourUserControlID.Property1 = "123";

otherwise, you have to use Reflection
liuhaijin 2003-11-22
  • 打赏
  • 举报
回复
crodling(蓝风) ( ) 说得对
isostar 2003-11-22
  • 打赏
  • 举报
回复
有没有相应的例子可供参考?(40分奉送 ^_^)
cbspy 2003-11-21
  • 打赏
  • 举报
回复
把属性嵌套起来嘛~
很简单的~
我现在的项目用户控件不知道嵌套了多少层。
crodling 2003-11-21
  • 打赏
  • 举报
回复
这个别人不都有写的么,定义一下不就可以了?
protected YouUserControlClass control1;

isostar 2003-11-21
  • 打赏
  • 举报
回复
供大家参考
“我在用户控件中有一个公用的属性和公用的方法,在调用他的页面中可以访问,但是在后置代码文件中确无法访问到这个用户控件。”
http://expert.csdn.net/Expert/topic/1989/1989975.xml?temp=.6281244

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧