自定义ASP.NET CheckBox的设计思路

有人要问,你疯了吧,checkbox控件还用写你重写吗?没办法,最近做一个asp.net项目,写开发模板的时候,需要这样做!我的模板需要在前台用javascript控制控件的值和状态初始化,需要很多特殊的html attribute,记录一些控制参数,但是ms提供的控件没有这些属性,因此连checkbox都要自己做了!我的checkbox的需求是:

1: 包含所有的ms checkbox属性方法和事件

2: 此外,要对自己定义的checkbox加上enableflag,witowner等自定义属性

问题和解决思路如下:

问题: 如果直接继承ms的checkbox, 使用this.attributes.add("witowner","true") 语句给控件添加自定义属性,属性会添加到控件产生的<span>上,checkbox上没有加上这个属性,在前台无法用javascript获取该属性,来控制checkbox.

解决思路:如果继承webcontrol,然后覆盖render方法,在render的时候,用类似chkcheckbox.rendercontrol(writer); 的语句添加htmlinputcheckbox,再加一个文字label,应该可以用符合控件的方式模拟出ms checkbox,并且带自己定义属性的功能。但是,这个时候出现的问题是:无法把控件放到<span></span>中,设置控件背景颜色等属性,无法针对控件生效! 解决办法:

为了满足以上需求,控件继承webcontrol, 覆盖rendercontents,语法如下

/// <summary>
/// 绘制控件的内容,即:绘制span包含的部分,在rendercontents函数里面写
/// 子控件的render,可以让复合控件的span包含子控件,便于写前台script操作。
/// </summary>
/// <param name="writer"></param>
protected override void rendercontents(htmltextwriter writer)
{
 setgroupattributes();
 if(this.textalign==textalign.right)
 {
chkcheckbox.id=this.clientid+"_checkbox";
chkcheckbox.rendercontrol(writer);

writer.write("<label for='"+chkcheckbox.id+"'>"+this.text+"</label>");
 }
 else
 {
writer.write("<label for='"+chkcheckbox.id+"'>"+this.text+"</label>");
chkcheckbox.id=this.clientid+"_checkbox";
chkcheckbox.rendercontrol(writer);
 }
}
private void setgroupattributes()
{
 //所有的cswit控件都需要带有这个属性
 chkcheckbox.attributes.add("witowner","true");
}

时间: 2024-11-03 22:46:50

自定义ASP.NET CheckBox的设计思路的相关文章

自定义阿ASP.NET CheckBox的设计思路

asp.net|设计 有人要问,你疯了吧,checkbox控件还用写你重写吗?没办法,最近做一个asp.net项目,写开发模板的时候,需要这样做!我的模板需要在前台用javascript控制控件的值和状态初始化,需要很多特殊的html attribute,记录一些控制参数,但是ms提供的控件没有这些属性,因此连checkbox都要自己做了!我的checkbox的需求是: 1: 包含所有的ms checkbox属性方法和事件 2: 此外,要对自己定义的checkbox加上enableflag,wi

记一次和阿里某总监对话引发的思考:说说你框架的设计思路和优点亮点!

背景: 前不久和阿里的一个技术总监风动聊的时候,他问了这样一个问题:说说你框架的设计思路和优点? 话说,这个问题,5年前开始就一直经常出现在眼前,可我从没认真为它找出过答案! 于是,夜深深,我躺在床上,用笔记本,一边思考,一边打字,试着找寻! 这些年来,我的框架或作品,都快凑满十二个了,每个单独都可以说上好几天. 但如果时间只有半小时,我要怎么介绍呢?介绍哪些呢? 出现在脑海里的框架有三个:CYQ.Data.ASP.NET Aries.Taurus.MVC. 大概是因为近期的精力都在这上面吧的吧

java数据权限设计-各位大神,求数据权限设计思路

问题描述 各位大神,求数据权限设计思路 求J2ee数据权限的设计思路,基本要求: 部门经理可以查看该部门下的所有数据对象(比如销售订单),销售人员只可以查看自己的销售订单或者查看其他人的销售订单(通过权限设置),请问该怎么设计?求高人帮忙. 解决方案 你可以做一个菜单权限.专门写一个菜单生成模块. 1.前端:用一个js框架例如:ztree,是一个很好用的菜单框架.它有成熟的API,自定义自己的菜单. 2.数据库:简单的可以设计三个表:用户表,角色表,菜单表.三个表分别为多对多关系.利用用户所拥有

PHP程序整体设计思路

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 今天就与大家分享下PHP程序整体设计思路,php是一门非常简单,搭配性能非常卓越的web开发语言,那是不是这样就可以随心所欲的做中大型的网站呢,当然不是的,做过一段时间的phper都知道,php是单线程的,那能不能实行多进程,当然可以的,但是性能非常的差,目前市场看,web开发中用的最多的是php,未来趋势肯定是php,一直以来的asp现在用

统一监控报警平台的架构设计思路分享

高俊峰(南非蚂蚁),Linux资深技术专家,畅销书籍<循序渐进Linux>.<高性能Linux服务器构建实战>作者,曾就职于新浪.万网,具有多年的自动化运维和管理经验,擅长Linux.集群应用.MySQL.Oracle等方面的系统管理.性能调优,规划设计,实战经验丰富. 目前关注于Hadoop数据平台以及和Hadoop相关的生态系统的运维.监控.部署.优化等技术. 前言 大家好,我是爱维Linux的南非蚂蚁,今天跟大家一起分享如何构建统一的运维监控平台. 谈到运维,监控应该是运维的

角色-求网站后台管理权限的设计思路

问题描述 求网站后台管理权限的设计思路 最近想把网站的权限改为全国性的 但是中间遇到部分的问题 程序用的是ASP的 需求: 1.能设置某个组管理指定 城市,也可以以省来设置. 2.后台导航上如果有该城市权限,那么就显示出来. 3.拥有哪些城市,就出哪些城市的数据 解决方案 看下这个基于.NET开发的通用的权限系统,http://www.upms.com.cn/index.html

我的测试历程---用例设计思路(安装/卸载)

我一直从事B/S测试工作,因为对网游(主要是C/S结构的)比较感兴趣,所以现在开始学习游戏开发方面的知识(刚开始看),比如opengl..VC++游戏设计入门.windows游戏编程大师技巧.数据结构算法等,为以后转游戏测试做准备,既然做C/S测试,安装/卸载是测试的很重要的部分之一,所以利用空闲时间写一下自己的安装/卸载用例设计思路,练习一下,如果你觉得写的不好或者觉得有需要补充的地方,请大家提出来,大家共同学习,共同进步,谢谢! 安装卸载用例设计思路(界面.易用方面的没写) 一.安装路径:

网上考试设计思路是怎样的?_编程10000问

global.asa < script LANGUAGE=VBScript RUNAT=Server > Sub Application_OnStart    dbPath = "DBQ=" & Server.Mappath("onlinetest.mdb")    dbConnectionString =  "DRIVER={Microsoft Access Driver (*.mdb)}; " & dbPath  

HTTP 协议的历史演变和设计思路

HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点. 本文介绍 HTTP 协议的历史演变和设计思路. 一.HTTP/0.9 HTTP 是基于 TCP/IP 协议的应用层协议.它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口. 最早版本是1991年发布的0.9版.该版本极其简单,只有一个命令GET. GET /index.html 上面命令表示,TCP 连接(connection)建立后,客户端向服务器