Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2014, 15:33   #1
ChoKavo
Новичок
Джуниор
 
Регистрация: 17.10.2014
Сообщений: 1
По умолчанию Не могу найти контрол из одной процедуры в другой

Здравствуйте, у меня в процедуре создается несколько TexBox'ов, но я не могу найти их с помощью команды FindControl в другой процедуре. Что то с доступами у меня не так.

Код:
  public void CreateControl(bool TypeContract)
    {
        ControlPanel.Controls.Clear();
        string query = "select id, value, countstrmin, countstrmax from PerscabParameters where id in ";
        Label lblHeader = new Label();
        lblHeader.ID="lblHeader";
        if (TypeContract == false)
        {
            query += "(1,3,6,7,22)";
            lblHeader.Text = "Заявка на регистрацию бытового потребителя <br />";
        }
        else
        {
            query += "(1, 13, 15, 17, 18, 19, 20, 22)";
            lblHeader.Text = "Заявка на регистрацию юридического лица <br />";
        }
        ControlPanel.Controls.Add(lblHeader);
        cnn.Open();
        try
        {
            SqlCommand cmd = cnn.CreateCommand();
            cmd.CommandText = query;
            SqlDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                Label lblName = new Label();
                lblName.Text = "<br /> "+reader.GetString(1)+" <br />";
                TextBox TB = new TextBox();
                TB.ID = "TextBox"+reader.GetInt32(0).ToString();
                TB.Width = 300;
                if ( reader.IsDBNull(2)==false)
                {
                    TB.MaxLength = reader.GetInt32(3);                
                }
                ControlPanel.Controls.Add(lblName);
                ControlPanel.Controls.Add(TB);
            }
            }
            catch (Exception e) { }
    }
 
    public void ValidControl()
    {
        SaveControl(); 
    }
 
    public void SaveControl()
    {
        TextBox val = (TextBox)FindControl("TextBox1");
        string login = val.Text; 
        string query = "insert into Request (Login, isLogin) " +
            "Values(@Login, 0)";
    }
 
     public void btnSave_Click(object sender, EventArgs e)
    {
        ValidControl();
    }
}
На бейсике такой же код работал.
Заранее спасибо на ответ
ChoKavo вне форума Ответить с цитированием
Старый 18.10.2014, 13:34   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Код:
TextBox val = (TextBox)ControlPanel.FindControl("TextBox1");
Добавили в контролпанель, а ищите на форме.
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает рабочий код при навеске на другой контрол samouelson C# (си шарп) 3 21.06.2012 20:25
не могу найти контрол в GridView lildare ASP.NET 0 07.05.2011 13:23
Использование имени процедуры в качестве параметра другой процедуры Alexey355 Помощь студентам 1 23.04.2011 13:59
Вызов одной процедуры из другой artemavd Общие вопросы Delphi 11 26.11.2010 17:37
Ошибка вызова одной процедуры в другой! $T@LKER БД в Delphi 4 28.04.2010 19:50