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 ,如需转载请自行联系原作者
相关文章
|
6月前
|
存储 Shell Linux
快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
本文介绍了如何使用脚本自动化构建 `.net` 应用的 `nuget` 包并推送到指定服务仓库。首先概述了 `BaGet`——一个开源、轻量级且高性能的 `NuGet` 服务器,支持多种存储后端及配置选项。接着详细描述了 `BaGet` 的安装、配置及使用方法,并提供了 `PowerShell` 和 `Bash` 脚本实例,用于自动化推送 `.nupkg` 文件。最后总结了 `BaGet` 的优势及其在实际部署中的便捷性。
256 10
|
2月前
|
C# Android开发 iOS开发
2025年全面的.NET跨平台应用框架推荐
2025年全面的.NET跨平台应用框架推荐
127 23
|
4月前
|
开发框架 监控 .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
|
4月前
|
JSON 算法 安全
JWT Bearer 认证在 .NET Core 中的应用
【10月更文挑战第30天】JWT(JSON Web Token)是一种开放标准,用于在各方之间安全传输信息。它由头部、载荷和签名三部分组成,用于在用户和服务器之间传递声明。JWT Bearer 认证是一种基于令牌的认证方式,客户端在请求头中包含 JWT 令牌,服务器验证令牌的有效性后授权用户访问资源。在 .NET Core 中,通过安装 `Microsoft.AspNetCore.Authentication.JwtBearer` 包并配置认证服务,可以实现 JWT Bearer 认证。具体步骤包括安装 NuGet 包、配置认证服务、启用认证中间件、生成 JWT 令牌以及在控制器中使用认证信息
205 2
|
5月前
|
开发者 Windows
.NET 开源扁平化、美观的 C/S 控件库
【10月更文挑战第23天】介绍了三款适用于 .NET 平台的开源扁平化、美观的 C/S 控件库:MaterialSkin 采用 Google Material Design 风格,适合现代感界面;Krypton Toolkit 提供丰富控件,界面易于定制;Fluent Ribbon Control Suite 模仿 Office 界面,适合复杂功能应用。每款控件库均附有示例代码及 GitHub 链接。
210 0
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控件,该如何解决?
|
6月前
|
数据采集 JSON API
.NET 3.5 中 HttpWebRequest 的核心用法及应用
【9月更文挑战第7天】在.NET 3.5环境下,HttpWebRequest 类是处理HTTP请求的一个核心组件,它封装了HTTP协议的细节,使得开发者可以方便地发送HTTP请求并接收响应。本文将详细介绍HttpWebRequest的核心用法及其实战应用。
244 6
|
5月前
|
C# Android开发 iOS开发
一组.NET MAUI绘制的开源控件 - AlohaKit
一组.NET MAUI绘制的开源控件 - AlohaKit
121 0
|
6月前
|
开发框架 JavaScript 前端开发
|
7月前
|
Linux iOS开发 开发者
跨平台开发不再难:.NET Core如何让你的应用在Windows、Linux、macOS上自如游走?
【8月更文挑战第28天】本文提供了一份详尽的.NET跨平台开发指南,涵盖.NET Core简介、环境配置、项目结构、代码编写、依赖管理、构建与测试、部署及容器化等多个方面,帮助开发者掌握关键技术与最佳实践,充分利用.NET Core实现高效、便捷的跨平台应用开发与部署。
741 3