demoshop

demo, trying to be the best_

這是藍色小鋪有人提出的問題,當Label控制項要動態改顏色的時候該怎麼辦呢?

因為Label中有一個ForeColor屬性,正常來說我們一定會很直覺的想說那色碼在資料庫,就把ForeColor和資料庫的色碼欄位Bind起來就好啦,但是好死不死ForeColor他是屬於System.Drawing.Color類別的,而這類別是不能直接給予色碼的(您自己試試看從資料庫撈就一定會趴),所以demo用了一個偷雞的方法處理這個問題,既然Label的字色不能這樣改,那我在前面就改掉你的顏色就好啦(HTML基本原理),於是乎,demo就利用以下的code解決了此問題

  1. <span style="color:<%# Eval("color") %>"><asp:Label ID="userNameLabel" runat="server" Text='<%# Eval("userName") %>'>asp:Label>span> 

注意看以上的code我們在Label前包了一個span標籤,所以在這標籤結為之前顏色都會是所bind的色碼,這裡是使用CSS語法改變顏色就不會有不吃#FF99CC這種色碼的問題了。

回應討論