尝试访问主页面代码中的telerik RadEditor控件,如下所示......它给出了一些错误

时间:2010-11-03 04:27:06

标签: c# asp.net css telerik

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'是'type',在给定的上下文中无效

另外,这是将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指令或程序集引用?)

[编辑]

我确实在“使用System.Web.UI.WebControls;”中添加了此命名空间。为什么这个错误??

1 个答案:

答案 0 :(得分:0)

应该是

  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对它们进行相应的设置。