将样式添加到 System.Web.UI.Control



我正在从数据库架构构建一大堆不同的控件。当我在代码后面运行控件时,我想传递控件和样式(作为数据库中的字符串......例如。"颜色:白色;宽度:50px;高度:10px;"(到可重用的功能。

这就是我认为我应该这样做的方式:

 Sub AddStylesToControl(ByRef ctrl As Control, Styles As String)
    'split styles string by semi colon
    Dim StyleArr() As String
    Dim count As Integer
    StyleArr = Styles.Split(";")
    For count = 0 To StyleArr.Length - 1
        '//ctrl.Attributes.Add("style", "color: red;")
        ctrl.Attributes.Add("style", StyleArr(count))
    Next
End Sub

不幸的是,在"ctrl.Attributes.Add("style", StyleArr(count((" 我收到一个错误:"属性"不是"system.web.ui.control"的成员我明白错误的含义,但是有谁知道解决这个问题的方法吗?

非常感谢,斯科特

你应该使用 WebControl 而不是 ControlWebControl派生自Control,但包括Attributes属性。

此外,控件的"style"属性应包含一个字符串,其中包含由 ; 分隔的 CSS。 因此,在数据库中传递整个字符串就足够了,您无需再进行任何处理。

所以你的函数应该看起来像...

Sub AddStylesToControl(ByRef ctrl As WebControl, ByVal styles As String)
    ctrl.Attributes("style") = styles
End Sub

我已将其更改为直接设置(而不是Add(,因为这将覆盖任何现有的"style"。 如果集合中已存在"style",则使用 Attributes.Add 将失败。

相关内容

  • 没有找到相关文章

最新更新