将ASP.NET用户控件的元素公开给父级所有者

编程入门 行业动态 更新时间:2024-10-23 11:23:19
本文介绍了将ASP.NET用户控件的元素公开给父级所有者的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

嗨! 假设我有一个名为LabelHolder的用户控件.其中有一个像这样的标签:

Hi! Let''s say I have a usercontrol called LabelHolder. Within that I have a label like this:

<asp:Label ID="lbCan" runat="server" Text=""></asp:Label>

在保存该用户控件的页面(请说Deafult.aspx)中,如何(不使用FindControl方法,因为效率低下)如何从Default.aspx.cs文件中设置标签文本属性 所以我希望我有这样的东西:

In a page that holds that user control (lets say Deafult.aspx) how do I (without using the FindControl method, as it is inefficient) get to set the label text property from the Default.aspx.cs file So what I wish for i something like:

public partial class Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { LabelHolder lH = new LabelHolder(); lH.lbCan.Text = "foo"; //This is what I wish would work but it doesn't form1.Controls.Add(lH); } }

非常感谢任何提示! 谢谢

Very greatful for any tips! Thanks

推荐答案

您可以将访问器属性添加到LabelHolder控件中,以为您完成此操作. You could add an accessor property to your LabelHolder control to do it for you. public class LabelHolder { .... public string Text { get { return lbCan.Text; } set { lbCan.Text = value; } } }

这样您的代码就变成了

so your code becomes

public partial class Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { LabelHolder lH = new LabelHolder(); lh.Text = "foo"; form1.Controls.Add(lH); } }

在用户控件中创建属性: 公共字符串名称 { 设置{lbCan.Text = value; } 得到{return lbCan.Text; } } 在Default.aspx页中,只需为该属性分配一个值. ucTest.Name ="hasan"; Create a Property in the user control: public string Name { set { lbCan.Text = value; } get { return lbCan.Text; } } In the the Default.aspx page just assign a value to that property. ucTest.Name = "hasan";

更多推荐

将ASP.NET用户控件的元素公开给父级所有者

本文发布于:2023-11-12 03:47:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1580424.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:所有者   控件   元素   用户   ASP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!