首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找和访问WebUserControl的元素

查找和访问WebUserControl的元素
EN

Stack Overflow用户
提问于 2010-03-03 08:20:41
回答 1查看 664关注 0票数 1

我正在ASP.net中创建一个WebUserControl,希望以后能够访问该控件的元素。但是,当我访问它们时,我会尝试一起访问它们。例如,向控件添加一个CheckBox和一个表,然后查找该CheckBox,检查它是否已被标记,如果已标记,则从TextBoxes中获取这些值。

我目前已经从自定义控件中加载了页面上的所有内容,但是当迭代页面上的控件时,似乎没有我的WebUserControl类型的控件。所有控件都在页面上,但它们作为单独的ASP.net控件存在。

我是不是想错了?有没有更好的方法来做这件事?

我不确定这是不是解释得很好,请随时提出澄清的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-03 09:04:14

您需要通过创建公共属性或函数来公开用户控件的功能,以使其按照您的需要或行为方式执行您需要的操作。例如,在你的例子中,你可以在你的用户控件中有一个属性,比如(你也可以做一个函数):

代码语言:javascript
复制
public List<string> SomeValues
{
    get
    {
        // return null if checkbox is not checked, you could just as easily return an empty list.
        List<string> lst = null;
        if (yourCheckBox.Checked)
        {
            lst = new List<string>();

            // You could have something that iterates and find your controls, remember you  
            // are running this within your user control so you can access all it's controls.
            lst.Add(yourTextBox1.Text);
            lst.Add(yourTextBox2.Text);
            lst.Add(yourTextBox3.Text);
            // etc...
        }
        return lst;
    }
}

然后,在您的页面中,您可以访问您的用户控件并调用此属性来获取值:

代码语言:javascript
复制
// assuming you defined your usercontrol with the 'yourUserControl' ID
List<string> lst = yourUserControl.SomeValues;

关键是在你的用户控件中公开你想要的东西,这样无论什么人在使用它,都不需要知道它的细节或实现。您应该能够像使用任何其他控件一样使用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2367957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档