ASP.NET 2.0中的友好CSS控件适配器的应用 - 用ul、li呈现CheckBoxList和RadioButtonList

简介:
[源码下载]


ASP.NET 2.0中的友好CSS控件适配器的应用 - 用ul、li呈现CheckBoxList和RadioButtonList


作者: webabcd


介绍
控件适配器(Control Adapters)可以让你改变通过ASP.NET控件生成的HTML标记。 http://www.asp.net/cssadapters/ 有详细的介绍和示例,但是没有用ul、li呈现CheckBoxList和RadioButtonList的例子(可能是因为太简单了,不屑去写),那就让我们来实现它吧,顺便熟悉一下如何开发控件适配器。


示例
App_Code/ControlAdaptersSample.cs
using System; 
using System.Data; 
using System.Configuration; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls.Adapters; 

/**//// <summary> 
/// ControlAdaptersSample 的摘要说明 
/// </summary> 
public  class ControlAdaptersSample : WebControlAdapter 

override void Render() override void Render(HtmlTextWriter writer) 
        { 
                ListControl listControl = this.Control  as ListControl; 
                IRepeatInfoUser repeaterInfo = this.Control  as IRepeatInfoUser; 

                 if (listControl ==  null || repeaterInfo ==  null
                { 
                        base.Render(writer); 

                        return; 
                } 

                 if (listControl.CssClass.Length > 0) 
                { 
                        writer.AddAttribute( "class", listControl.CssClass); 
                } 

                writer.RenderBeginTag(HtmlTextWriterTag.Ul); 

                 for (int i = 0; i < listControl.Items.Count; i++) 
                { 
                        writer.RenderBeginTag(HtmlTextWriterTag.Li); 
                        repeaterInfo.RenderItem(ListItemType.Item, i,  new RepeatInfo(), writer); 
                        writer.RenderEndTag(); 
                } 

                writer.RenderEndTag(); 
        } 
}

App_Browsers/ControlAdaptersSample.browser
<browsers> 
    <browser refID= "Default"
        <controlAdapters> 
            <adapter controlType= "System.Web.UI.WebControls.CheckBoxList" 
                 adapterType= "ControlAdaptersSample" /> 
            <adapter controlType= "System.Web.UI.WebControls.RadioButtonList" 
                 adapterType= "ControlAdaptersSample" /> 
        </controlAdapters> 
    </browser> 
</browsers>

都有什么browsers可用呢?可以在如下的路径中找到
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers

ControlAdaptersSample.aspx 
<%@ Page Language= "C#" MasterPageFile= "~/Site.master" AutoEventWireup= "true" CodeFile= "ControlAdaptersSample.aspx.cs" 
         Inherits= "Control_ControlAdaptersSample" Title= "友好CSS控件适配器的简单示例" %> 

<asp:Content ID= "Content1" ContentPlaceHolderID= "cph" runat= "Server"
        <style> 
                .ListControlCSS {}{ list-style:none; margin:0px; width: 400px; background-color: #CCC; } 
                .ListControlCSS INPUT {}{ background-color: #CCC; } 
                .ListControlCSS li{}{ float: left; width:100px; line-height:30px;} 
        </style> 
        <asp:CheckBoxList ID= "cbl" runat= "server" CssClass= "ListControlCSS"
                <asp:ListItem Text= "One" /> 
                <asp:ListItem Text= "Two" /> 
                <asp:ListItem Text= "Three" /> 
                <asp:ListItem Text= "Four" /> 
                <asp:ListItem Text= "Five" /> 
                <asp:ListItem Text= "Six" /> 
                <asp:ListItem Text= "Seven" /> 
                <asp:ListItem Text= "Eight" /> 
                <asp:ListItem Text= "Nine" /> 
                <asp:ListItem Text= "Ten" /> 
        </asp:CheckBoxList> 
        <div> 
                 </div> 
        <asp:RadioButtonList ID= "rbl" runat= "server" CssClass= "ListControlCSS"
                <asp:ListItem Text= "One" /> 
                <asp:ListItem Text= "Two" /> 
                <asp:ListItem Text= "Three" /> 
                <asp:ListItem Text= "Four" /> 
                <asp:ListItem Text= "Five" /> 
                <asp:ListItem Text= "Six" /> 
                <asp:ListItem Text= "Seven" /> 
                <asp:ListItem Text= "Eight" /> 
                <asp:ListItem Text= "Nine" /> 
                <asp:ListItem Text= "Ten" /> 
        </asp:RadioButtonList> 
        <p> 
                官网:<a href= "http://www.asp.net/cssadapters/" target= "_blank">http://www.asp.net/cssadapters/</a> 
        </p> 
</asp:Content>
 
运行结果
CheckBoxList和RadioButtonList将以ul、li呈现 


OK
[源码下载]


     本文转自webabcd 51CTO博客,原文链接:http://blog.51cto.com/webabcd/341975 ,如需转载请自行联系原作者
相关文章
|
存储 Shell Linux
快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
本文介绍了如何使用脚本自动化构建 `.net` 应用的 `nuget` 包并推送到指定服务仓库。首先概述了 `BaGet`——一个开源、轻量级且高性能的 `NuGet` 服务器,支持多种存储后端及配置选项。接着详细描述了 `BaGet` 的安装、配置及使用方法,并提供了 `PowerShell` 和 `Bash` 脚本实例,用于自动化推送 `.nupkg` 文件。最后总结了 `BaGet` 的优势及其在实际部署中的便捷性。
873 10
|
9月前
|
前端开发
WebView2 控件(基于 Microsoft Edge (Chromium) 的嵌入式浏览器控件),保存资源(图片、脚本、CSS)
WebView2 控件(基于 Microsoft Edge (Chromium) 的嵌入式浏览器控件),保存资源(图片、脚本、CSS)
432 71
|
C# Android开发 iOS开发
2025年全面的.NET跨平台应用框架推荐
2025年全面的.NET跨平台应用框架推荐
727 23
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
362 5
|
JSON 算法 安全
JWT Bearer 认证在 .NET Core 中的应用
【10月更文挑战第30天】JWT(JSON Web Token)是一种开放标准,用于在各方之间安全传输信息。它由头部、载荷和签名三部分组成,用于在用户和服务器之间传递声明。JWT Bearer 认证是一种基于令牌的认证方式,客户端在请求头中包含 JWT 令牌,服务器验证令牌的有效性后授权用户访问资源。在 .NET Core 中,通过安装 `Microsoft.AspNetCore.Authentication.JwtBearer` 包并配置认证服务,可以实现 JWT Bearer 认证。具体步骤包括安装 NuGet 包、配置认证服务、启用认证中间件、生成 JWT 令牌以及在控制器中使用认证信息
605 2
|
数据采集 JSON API
.NET 3.5 中 HttpWebRequest 的核心用法及应用
【9月更文挑战第7天】在.NET 3.5环境下,HttpWebRequest 类是处理HTTP请求的一个核心组件,它封装了HTTP协议的细节,使得开发者可以方便地发送HTTP请求并接收响应。本文将详细介绍HttpWebRequest的核心用法及其实战应用。
812 6
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
本文讨论了在基于.NET 6和.NET Framework的WinForms项目中添加图表控件的不同方法。由于.NET 6的WinForms项目默认不包含Chart控件,可以通过NuGet包管理器安装如ScottPlot等图表插件。而对于基于.NET Framework的WinForms项目,Chart控件是默认存在的,也可以通过NuGet安装额外的图表插件,例如LiveCharts。文中提供了通过NuGet添加图表控件的步骤和截图说明。
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
|
开发者 Windows
.NET 开源扁平化、美观的 C/S 控件库
【10月更文挑战第23天】介绍了三款适用于 .NET 平台的开源扁平化、美观的 C/S 控件库:MaterialSkin 采用 Google Material Design 风格,适合现代感界面;Krypton Toolkit 提供丰富控件,界面易于定制;Fluent Ribbon Control Suite 模仿 Office 界面,适合复杂功能应用。每款控件库均附有示例代码及 GitHub 链接。
865 0
|
C# Android开发 iOS开发
一组.NET MAUI绘制的开源控件 - AlohaKit
一组.NET MAUI绘制的开源控件 - AlohaKit
350 0

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    429
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    341
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    323
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    211
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    437
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    617
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    857
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    226
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    702
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    397
  • 下一篇
    开通oss服务