Доступ к вложенным элементам управления веб-пользователями - PullRequest
2 голосов
/ 26 сентября 2011

У меня есть вложенный пользовательский веб-элемент управления.Основной веб-пользовательский элемент управления, который я использовал на странице, но теперь я хочу получить доступ к элементу управления внутри внутреннего веб-элемента управления и его событиям.Может ли какой-либо орган помочь мне в этом вопросе.

Ответы [ 2 ]

0 голосов
/ 12 июня 2014

попробуйте этот метод

        private List<Control> GetAllNestedUserControl(Control ph)
    {
        List<Control> Get = new List<Control>();
        foreach (var control in ph.Controls)
        {
            if (control is UserControl)
            {
                UserControl uc = control as UserControl;
                if (uc.HasControls())
                {
                   Get =  GetAllNestedUserControl(uc);

                }
            }
            else
            {
                Control c = (Control)control;
                if (!(control is LiteralControl))
                {
                     Get.Add(c);
                }
            }
        }
        return Get;
    }

этот метод вернет список всех элементов управления, затем выполните следующее, чтобы получить элемент управления, который вы хотите

        List<Control> Get = GetAllNestedUserControl(ph);
        Label l = (Label)Get.Find(o => o.ID == "lblusername");
        l.Text = "changed from master";
0 голосов
/ 26 сентября 2011

В родительском пользовательском элементе управления укажите ссылку на свой дочерний элемент управления или его свойства через свойство.Например

public partial class ParentControl : UserControl
{
    ...
    // Expose the whole child control
    public ChildControl MyChild
    {
        get { return this.theIdOfTheChildControl; }
    }

    ...

    // or expose specific properties
    public string MyChildText
    {
        get { return this.theIdOfTheChildControl.Text; }
        set { this.theIdOfTheChildControl.Text = value; }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...