2010-11-03 65 views
1

無法找到類型或名稱空間名稱'c'(您是否缺少使用指令或大會參考?)爲什麼會出現這個錯誤? 「無法找到類型或命名空間名稱'c'(您是否缺少using指令或程序集引用?)」

我有這個名稱空間添加「使用System.Web.UI.WebControls;」爲什麼這個錯誤?

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); 
      } 

     } 

    } 

回答

5

您正在使用c是,如果它是一個類型,而不是一個varaible。

更改此:

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

到:

if (c.GetType().Equals(typeof(Telerik.Web.UI.RadEditor))) 

或者乾脆:

if (c is Telerik.Web.UI.RadEditor) 
+0

thnx最後一個工作..現在還有一個錯誤,當我嘗試添加CSS類到RadEditor這種方式「rad.CssClasses.Add(」../皮膚/ CustomSkin/Editor.CustomSkin.css「);」 ..錯誤是「最好的重載方法匹配'Telerik.Web.StronglyTypedStateManagedCollection .Add(Telerik.Web.UI.EditorCssClass)'有一些無效的參數」我需要添加像4 CSS類到每個radEditor控件...是不是正確的方式?我做錯了什麼? – Serenity 2010-11-03 06:30:32

+0

@Serenity:'CssClasses.Add'方法用於將一個類名添加到CSS類下拉菜單中。你想使用'CssFiles.Add'方法。 – Guffa 2010-11-03 06:38:48

+0

ohh ..right ..CssFiles它是..thnx – Serenity 2010-11-03 06:44:16

3

typeof(x)期望x是類型而不是對象。

使用這個代替

if(c is Telerik.Web.UI.RadEditor) 

一個正確使用的typeof是

if (c.GetType().Equals(typeof(Telerik.Web.UI.RadEditor)) 
3

typeof(...)運營商需要得到一個類型名稱,在編譯時已知。我想你實際上意味着:

if (c.GetType().Equals(typeof(Telerik.Web.UI.RadEditor))) 

然而,倒不如寫:

RadEditor editor = c as Telerik.Web.UI.RadEditor; 
if (editor != null) 
{ 
    rad.CssClass = "MyStyle"; 
    label1.Visible = true; 
    label1.Text = "dhchk"; 
} 

這則解決在c是一個子類的實例的情況RadEditor,我認爲應該走相同的路徑。

通過使用as而不是is然後as或一個演員,你只需要進行一次動態類型檢查 - 它通常是整潔的。

+0

如何添加多個css類到RadEditor控件..我需要添加4 – Serenity 2010-11-03 06:33:09

+0

試過這個,但它不工作..「rad.CssClasses.Add( 「../Skins/CustomSkin/Editor.CustomSkin.css");rad.CssClasses.Add("../Skins/CustomSkin/ToolBar.CustomSkin.css」);「 – Serenity 2010-11-03 06:36:32

+0

我需要單獨提出這個問題嗎?疑問句?那種類型的錯誤得到了解決..跟這個一起現在 – Serenity 2010-11-03 06:38:43

相關問題