【问题标题】:How to change html view of web user control如何更改 Web 用户控件的 html 视图
【发布时间】:2011-03-10 22:34:13
【问题描述】:

我正在为一个简单的投票创建一个 Web 用户控件。我目前正在页面上注册它,然后通过 tagprefix 引用它。

投票的表单是基本的 html 格式(没有服务器控件),并且位于 Web 控件的前端。如何根据传入的设置更改用户控件的外观?不使用服务器控件是否可行?

更新

我可以更改用户控件的 html 布局吗?如果是这样,有人可以发布一些例子。请注意,我不使用 asp.net 表单控件,所以请不要使用 :)

【问题讨论】:

  • 你能发布示例代码吗?
  • 解释它的最简单方法是我想为不同的用户组(匿名和经过身份验证)稍微更改用户控件的布局。我不知道该怎么做。

标签: asp.net user-controls


【解决方案1】:

您也许还可以使用 jQuery 替换代码中现有的 css 设置。为您的用户控件创建属性,然后在类中传递设置。然后使用 jQuery 替换它们。但是,这需要将 jQuery 链接到您的页面(或在您的控件内),并且您必须将 CSS 类写入 jQuery 代码(使用服务器控件,但您可以使用文字控件,因此没有多余的代码)。

就我个人而言,我会选择使用服务器控件而不是直接使用 HTML,这样你会获得更多的灵活性,然后通过设置会非常简单,在你的控件后端代码中添加如下内容:

Private _TextBoxCssClass As String 
Public Property TextBoxCssClass() As String 
    Get 
        Return _TextBoxCssClass 
    End Get 
    Set(ByVal value As String)  
        _TextBoxCssClass = value 
        txtBox1.CssClass = value 
        txtBox2.CssClass = value 
    End Set 
End Property

【讨论】:

  • 我最终只使用了服务器控件,但这在将来会有用。
【解决方案2】:

您很可能希望在控件中有一个属性或事件来更改 CSS。最好添加一些服务器控件或 javascript / jquery 以使其更容易。

【讨论】:

    【解决方案3】:

    如果它只是您想要更改的样式,那么您可以公开一个属性来设置用户控件中相应控件的样式属性。如果您想控制控件的整个 HTML 布局,那么自定义控件是可行的选择。

    【讨论】:

    • 用户控件和自定义控件有什么区别?
    • 你应该谷歌,有很多关于它的文章。主要区别在于用户控件只是将控件组合在一起,就像可以插入项目中任何页面的面板一样。您将其创建为 .ascx 文件。自定义控件在您扩展控件类并创建自己的控件时更加健壮,这意味着您可以吐出自己的 HTML。它通常作为单独的程序集构建,可用于多个项目。
    猜你喜欢
    • 1970-01-01
    • 2021-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多