Попытка получить доступ к элементам управления telerik RadEditor в коде главной страницы следующим образом ... это приводит к некоторой ошибке - PullRequest
0 голосов
/ 03 ноября 2010
foreach (Control control in ContentPlaceHolder1.Controls)

 { 
         if(typeof(Control).Equals(Telerik.Web.UI.RadEditor))


         {

             label1.Visible = true; label1.Text = "dhchk";
          // control.CssFiles.Add("~/styles/myStyle.css"); 
         } 

}

Ошибка; -

'Telerik.Web.UI.RadEditor' является 'типом', который недопустим в данном контексте

Кроме того, это правильныйспособ добавить класс CSS в элементы управления radEditor ??

control.CssFiles.Add("~/styles/myStyle.css"); 

Я на самом деле хочу добавить 3-4 пользовательских класса ... как это сделать?

Что я делаю неправильно?Пожалуйста, помогите ... thnx

о, а также мне было интересно, могу ли я добавить какой-нибудь javascript или что-то в мою главную страницу, которая будет обнаруживать ВСЕ элементы управления radEditor и устанавливать их классы css?Я не знаю много о Javascript .. как это можно сделать?как мне это сделать?но сначала я хочу, чтобы классы CSS были установлены в коде позади .. что не так с кодом?

[РЕДАКТИРОВАТЬ]

@ Geek..Я пытался вызвать вот так ... это правильно?

 Control c = new Control();
            DoSomething(c);

теперь он дает эту ошибку в методе: -

Не удалось найти имя типа или пространства имен 'c' (отсутствует директива using или ссылка на сборку?)

[EDIT]

У меня есть это пространство имендобавлено "использование System.Web.UI.WebControls;"почему эта ошибка ??

1 Ответ

0 голосов
/ 03 ноября 2010

должно быть

  if(typeof(control).Equals(Telerik.Web.UI.RadEditor)

У вас есть заглавная буква, поэтому вы указываете на объект .Net Control, а не на ваш объект управления.

Вам также необходимо рекурсивно перебирать элементы управления в ContentPlaceHolder.у вас могут быть другие объекты с элементами управления, но ваш код никогда их не найдет.

protected void DoSomething(Control control)(
{

    foreach (Control c in control.Controls)
    { 
        if(typeof(c).Equals(Telerik.Web.UI.RadEditor))
        {
           Telerik.Web.UI.RadEditor rad = c as Telerik.Web.UI.RadEditor;
           rad.CssClass = "MyStyle";
              label1.Visible = true; label1.Text = "dhchk";
           // control.CssFiles.Add("~/styles/myStyle.css"); 
        }
        else
        {
              DoSomething(c);
        }

    }

}

Итак, мы нашли элементы управления RadEditor и присвоили им класс MyStyle.Создайте их соответственно с помощью css.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...