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

14 篇文章 0 订阅
11 篇文章 0 订阅

某些 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值