如何動態變更網頁中 HTML 控制項的 Class 屬性

来源:互联网 发布:2016第二季度经济数据 编辑:程序博客网 时间:2024/06/15 05:31

某些 HTML 控制項其實並沒有 WebControls 的對應,例如:

<ul runat="server" id="ul">
   <li runat="server" id="li1">
   <li runat="server" id="li2">
</ul>

雖然把個別控制項加上了 id 和 runat="server" 標記,但我們會在程式中仍然無法直接完全控制這些控制項,因為我們找不到對應的伺服器控制項。不過我們可以使用一個通用的 Control 控制項來定位上面範例中的 li 控制項:

Dim li As Control = ul.FindControl("li1")

不過問題來了。你將會發現你無法使用像 li.CssClass = "myClass" 這樣的指令來指定 li1 的 class 屬性。不僅如此,Control 控制項也沒有 class 屬性,所以你會發現連動態指定像 li 這種控制項的 class 屬性都辦不到。

在這種情形下,你可以改用 HtmlGenericControl 控制項,再使用 Attributes.Add 方式,如此就可以了,如以下範例:

Dim li As HtmlGenericControl = ul.FindControl("li1")
If li IsNot Nothing Then li.Attributes.Add("class", "myClass")

 

转自:http://www.dotblogs.com.tw/johnny/archive/2010/01/23/13238.aspx

原创粉丝点击