FrozenGridView на панели обновления недоступен - PullRequest
0 голосов
/ 21 декабря 2011

У меня есть RealWorld.Grids.FrozenGridView, и после выбора нескольких флажков (в последнем столбце) в сетке я пытаюсь получить доступ к строкам в файле C #, чтобы выполнить некоторые задачи в выбранных строках, но сетка выглядит как нулевая,и когда я пытаюсь найти управление со страницы на основе имени сетки, результат равен нулю.

gridname = (RealWorld.Grids.FrozenGridView)this.FindControl("gridname") as RealWorld.Grids.FrozenGridView;

сетка расположена в панели обновления, поэтому для доступа к сетке я включаю панель обновления в поискуправление как таковое:

UpdatePanel up1 = new UpdatePanel();
    up1.ID = "updatepanelID";
    Label gn = (Label)up1.FindControl("labelname");

Я также пытался:

label lbl = (Label)this.Page.FindControl("updatepanelid").FindControl("labelname") as Label; 

это должно происходить в событии button_click

Кто-нибудь имеет опыт работы с этим типом проблемы?

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 21 декабря 2011

FindControl не всегда работает должным образом. Попробуйте эту рекурсивную функцию и используйте строку кода, которая у вас есть.

 public static Control FindControlRecursive(Control ctlRoot, string sControlId)
    {
        // if this control is the one we are looking for, break from the recursion    
        // and return the control.    
        if (ctlRoot.ID == sControlId)
        {
            return ctlRoot;
        }
        // loop the child controls of this parent control and call recursively.    
        foreach (Control ctl in ctlRoot.Controls)
        {
            Control ctlFound = FindControlRecursive(ctl, sControlId);
            // if we found the control, return it.        
            if (ctlFound != null)
            {
                return ctlFound;
            }
        }// we never found the control so just return null.    
        return null;
    }

Ваш звонок будет выглядеть примерно так.

var ridname = (RealWorld.Grids.FrozenGridView)FindControl(this, "gridname") as RealWorld.Grids.FrozenGridView;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...