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

asp.net|设计

  有人要问,你疯了吧,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-09-10 06:16:51

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

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

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

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

背景: 前不久和阿里的一个技术总监风动聊的时候,他问了这样一个问题:说说你框架的设计思路和优点? 话说,这个问题,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测试,安装/卸载是测试的很重要的部分之一,所以利用空闲时间写一下自己的安装/卸载用例设计思路,练习一下,如果你觉得写的不好或者觉得有需要补充的地方,请大家提出来,大家共同学习,共同进步,谢谢! 安装卸载用例设计思路(界面.易用方面的没写) 一.安装路径:

用自定义图片代替原生checkbox实现全选,删除以及提交的方法_jquery

UI妹子觉得原生的checkbox复选框太丑,非要用图片来代替,那就依她.做出来的效果类似这样: 要代替原生的checkbox. 那么要实现原生checkbox能干的事.我们主要实现这几点就可以了. 1.点击列表中的勾选图片.图片会变换成相反的. 2.如果当前是全选状态,不勾选列表中的某一项,全选处的图片变成未勾选的状态. 如果点击了某一项使列表成了全选的状态, 全选处的图片变成勾选状态. 3.全选功能 4.点击删除,能删除全部的勾选的图片. 1.准备工作:因为要大量用到两个图片的切换,我们单独

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

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