2013-11-22 59 views
0

我現在有是這個擴展方法(未經測試):添加CSS類服務器控件使用擴展方法

public static void AddClass(this TextBox control, string newClass) 
{ 
    control.CssClass += " " + newClass; 
} 

我縮小下來到文本框只是爲了能夠訪問CssClass屬性在這個例子中。

我在尋找什麼:

,可以應用在所有Control s的的CssClass財產。這可能嗎?

+0

它可能應該是'control.CssClass + = 「」 +的NewClass;'現在正在複製以前每次添加新課程時的內容。 –

回答

3

使用WebControl這是基本型ASP控件源自:

public static void AddClass(this WebControl control, string newClass) 
{ 
    if(!string.IsNullOrEmpty(control.CssClass)) 
    { 
     control.CssClass += " " + newClass; 
    } 
    else 
    { 
     control.CssClass = newClass; 
    } 
} 
+0

整潔,但我不喜歡你的空支票。它應該允許你添加一個類,而不管是否已經存在類。我結束了這個:'if(!control.CssClass.Contains(newClass))control.CssClass + =「」+ newClass;' – Johan

+0

'應該允許你添加一個類,不管類是否已經存在。它確實,如果它沒有一個類,它將落入'else'塊。 – DGibbs

+1

@Johan當沒有CSS類時,所有空格檢查都會防止多餘的空格。 –