作者:
Laluth (陽光)
2016-08-19 10:05:17※ 引述《kisha024 (4545454554)》之銘言:
: 各位好
: visual studio 版本 : 2013 ultimate
: 在aspx 我發現有一些<asp:的控制項 可以設定CssClass屬性 但render出來 其實就是class
: 而那些控制項如果要設class屬性 也可以 並不會錯誤(但IntelliSense沒得選)
: 所以我不懂兩者差異在哪?
差別在於後端程式可以直接控制
可以直接使用 控制項ID.CssClass 來做動態控制
基本上 有CssClass的基本控制項 (有些複合式的控制項除外)
在前端都會自動轉換成html tag
所以這些控制項 都可以直接設定它原始html tag的屬性
: 如果我在.cs使用 控制項ID.Attributes.Add("class","c2") 這樣的語法
: 對在aspx已設定class屬性的控制項 會以class="c2"覆蓋原本的class設定
: (很意外 竟然不需先Remove)
: 對在aspx已設定CssClass屬性的控制項 則是會再增加一個class="c2"的設定
: 而原本的class設定(或說屬性)還在 這樣導致class設定有兩個
: 原本的class設定有作用 而class="c2"無作用
因為class是吃第一個在tag裡出現的設定
: 我試過先以 控制項ID.Attributes.Remove("class") 語法 移除掉原本的class設定
: 但沒有效果 無法移除
: 所以在aspx下 設定CssClass屬性 好像還不如設定class屬性就好 是這樣嗎?
: 還是CssClass有其他特別用處?
: 謝謝
用處 方便程式控制 就這樣