今天你写控件了吗?----ASP.net控件开发系列之(一)开篇

ASP.NET初了解()--Html控件和Web控件 作为ASP.NET的初学者,了解并且区别些混淆概念是很必须的,今天这篇博文就是主要向大家介绍下Html控件和Web控件。在ASP.NET中,用户界面控件主要就是Html控件和Web控件,在前台页面上看,两种控件非常相似,那么究竟他们有什么不样呢?他们又分别适用于什么情况呢?这都是我们需要解决的问题。      首先,先来分别说说Html控件和Web控件。      Html控件-- 阅读详情
  今天你写控件了吗?----ASP.net控件开发系列之开篇

    早段时间,同事之间很流行打CS,所以那段时间的问候变成了“今天你杀XX了吗?”
控件开发也许是程序员最能发掘自己创造力的一件事情吧?控件开发不仅要求你对当前的开发有一个较全面和略深的了解,而且也能促使你去了解开发环境的底层的东西。比方说我在开发控件的过程中就对reflect和MSIL产生了较深的兴趣,也许,在以后的一段时间里,我会尝试去做一个reflector,哈哈,很多事情都很难说地~
    “今天你写控件了吗?”,也许在将来会成为中国.net程序员的一个日常用语,哈哈,很多事情都很难说地~不好意思,重复了一下,毕竟,在.net的框架下一些简单的控件的开发相对来说,是·很·容易的。.net框架已经为你做了大部分的事(当然,我这种说法是有误的,创新永远是第一位的。),我所做,只是想凭自己三寸烂舌和一股热情,告诉大家,那个真的很容易。
现在,你有信心了吗?

    在这开篇,我还想和大家探讨几个问题?

    1.ASP.net是ASP+吗?
     记得有这么一句话,微软喜欢给一些换汤不换药的东西换一个全新的名字,让人认为是一种全新的技术,而有些完全不同的东西却整一个很相像的名字,ASP.net和ASP就是这样,ADO.net和ADO.net更是这样。在这里,我想说的是,ASP.net和ASP是很不相同的。ASP是建立在WINDOW DNA上的(这句也许有误,我对旧的技术没什么底蕴),以解释为执行方式的,而ASP.net是建立在.net framework这一全新的东东上的,是先编译后运行的,所以ASP.net的效率更高,而且有.net framework的支持,可以做很多很多的功能,而且很方便,你不必在COM的世界为了一个功能大海捞针,在一个统一的.net环境中写写代码就OK了,同时,Web serviceS做为它的同胞,和asp.net有很大的相通性,你可以很方便的同时为Internet提供基于浏览器和各种客户端GUI程序的服务,还有remoting.....爽歪了啊!

    2.ASP.net都做了什么?
     ASP.net是怎么生成一个个活蹦乱跳的鲜活网页的呢?IIS做为一个HOST,为一个个ASP.net程序创建AppDomain而不是一个个Process,每个ASP.net程序在第一次运行时被编译为机器码,为客户的Request生成Response。我们在制作网页的时候,.aspx文件和.aspx.cs文件好像各占半壁江山,而其实的页的生成过成中,.aspx文件中的东西只是Render方法的一串Write调用。

    3.ASP.net开发,我们的重点该放在哪呢?
     是啊,我们的重点该放在哪哟?我重点培养自己哪方面的技能呢?在上一点中,我说.aspx文件只不是后台程序的一个方法(Render)中的部分而已,那么意思是不是前台的东西就只是一个狗屁呢?对这个观点,我是坚绝反对的,理由有:第一、ASP.net最终还是用HTML、Script、CSS来实现界面,完成功能。一个Render而已,可这个Render可了不得啊,ASP.net中大部分的东西最终不就是为了这个Render吗?第二、.net框架已经为我们做了太多太多的东西,我们可以很舒服的完成我们需要的功能,用System.Drawing画出有水印的图,用System.Data玩把戏般的操作数据,正则?XML?......一切都有一堆积木在那等着你堆了。所以,我们前进的道路很清晰的两路,就是,用那些老掉牙的DHMTL/JS/CSS技术完成你的创意,另一方法,努力学习软件开发的方法论,什么模式、什么UML、什么框架、什么用例、什么MDA、什么AOP......不好意思,接不下去了,吹概念不是我的长处。而且在控件开发中,你没有DHTML这些东西的基础,而以为对现有控件的深度发展就能做出一个很成功的控件和创意出来?基本上......这个(读的时候这里顿一下)很难!

    4.Attribute?
     Attribute?这个是.net中很重要的概念,在控件开发在尤其重要。很多书都说Attribute和Property不好分别,我的理解很简单,Property是内在的属性,Attribute是相对“外在”的东西,举个例子,你的肚腩很大这是Property,然后你穿一件很宽松的衣,这是Attribute,当然这个解释是绝对不正确的,也许“你肚腩很大”这句描述性的话是Attribute那来得正确,不过,这个有助于你理解两者的区别是如此的大,那么这两者到底是什么呢?其实大家都知道了,我这里再八婆一下。编译器在把你的代码整成一个Assemble时,把Method、Property这些东西整成IL指令,同时,它会弄出一份描述你的类,方法,属性,字段等等的各种信息的MetaData,所以,在IDE中,我写一个XX.在打下这个点后,后面一堆让我爱得不得了的智能完成东东就出来了,这些就是MetaData和Reflect的功劳,此外还有VS.net的对象浏览器,某些兄弟偷看我发布的控件的内部代码的工具,都得益于这个东东,而且IDE也利用反射读取MetaData来决定怎样在设计器如何让用户和控件交互。而!Attribute就是我们操作MetaData的工具。

    ......还有呢?暂时没想到,呵呵。

    所以,想尝试做控件的兄弟,你不仅要有信心,你还要准备一点HTML/JS/CSS之类的基础和对Attribute等.net的特性的一些了解。你准备好了吗?

    也许是年龄的原因,所以我这个人现在做事一般不是很沉稳,所以你在以上一段吹水中找出几个错误我一点也不会吃惊,同时,我很感激你。

posted @ 2005-04-26 09:12 THIN 阅读(8295) 评论(8)   编辑 收藏 所属分类: ASP.net server components and controls

   回复   引用   查看     
#1楼  [ 楼主]2005-04-26 09:16 | 仁渣       
昨晚写的另两篇随笔:
做手好菜,骗个好女孩做女朋友(一)
http://www.cnblogs.com/thinhunan/archive/2005/04/26/145308.html
感受人群,感受社会
http://www.cnblogs.com/thinhunan/archive/2005/04/26/145310.html
   回复   引用   查看     
#2楼  2005-04-26 11:32 | JustinLee       
仁渣兄一套一套滴
   回复   引用   查看     
#3楼  [ 楼主]2005-04-26 11:40 | 仁渣       
是吗?
争取成为中国十大杰出吹水青年,国务院吹水特殊津贴专家。
   回复   引用     
#4楼  2005-05-19 17:59 | free_man [未注册用户]
这才叫程序人生啊!可怜我还在入门阶段摸索!
   回复   引用   查看     
#5楼  2005-07-12 11:46 | 曼沙珠华       
最起码让人看起来很爽!!~~
   回复   引用     
#6楼  2005-07-16 15:49 | louis [未注册用户]
国内做技术的大多死板,幽默一下,感觉很爽,
搞技术,本来就很伤脑筋,
不过,如果作者每次写完文章后,检查一下,错别字,大家看着就更爽了。
   回复   引用   查看     
#7楼  [ 楼主]2005-11-30 12:02 | THIN       
回过头来看以前写的文章,感觉有点花哨了,呵呵
人老了啊!!!!!!!!
   回复   引用     
#8楼  2008-07-17 16:41 | 陈十陵a [未注册用户]
仁渣兄绝对是我心中少有的高手...其它的马屁就不说了
另外我也想学学做控件
推荐.net SqlSugar ORM 站式扩展库 RuoVea.ExSugar 集成 DI 注册、DbContext/Repository 模式、审计字段自动填充、全局查询过滤器、工作单元事务、差异日志记录、SM2 连接字符串加密,覆盖从 DataExecuting AOP 到分页查询的完整数据访问层抽象。为 .NET 开发者提供 SqlSugar ORM 的开箱即用增强封装,通过 DI 容器统管理数据库连接、审计字段、查询过滤器和事务边界。建议通过环境变量、密钥管理服务(如 Azure Key Vault)或加密的配置文件注入。重载以启用完整功能(差异日志、过滤器等)。 阅读详情

相关推荐

AutoCAD .NET 二次开发深度解析:Editor.SetImpliedSelection 的正确使用与实战场景

本文基于 Autodesk 官方论坛讨论 How to use Editor.SetImpliedSelection 及官方文档,系统梳理 SetImpliedSelection 的使用方法、关键陷阱与实际工程应用。

ultramand的博客,重生之我在cad上二次开发猛猛敲C#代码~ 10

今天控件了吗?----ASP.net控件开发系列

今天控件了吗?----ASP.net控件开发系列开篇    早段时间,同事之间很流行打CS,所以那段时间的问候变成了“今天你杀XX了吗?” 控 件开发也许是程序员最能发掘自己创造力的件事情吧?控件开发不仅要求你对当前的开发个较全面和略深的了解,而且也能促使你去了解开发环境的底层的东 西。比方说我在开发控件的过程中就对reflect和MSIL产生了较深的兴趣,也许,在以后的段时

killkill 2294

CAD 线宽“隐身”之谜:从 LWDISPLAY系统变量到 .NET 二次开发实战

<think>我们根据用户要求,基于提供的文章生成摘要,不超过150字。文章内容是关于CAD线宽显示问题的分析与解决,包括LWDISPLAY变量、.NET开发中的处理等。摘要需简洁概括核心内容,控制在150字内。</think>本文剖析CAD线宽“显示不粗”的根因——LWDISPLAY系统变量默认为0,导致忽略线宽渲染;并给出标准排查步骤与.NET C#二次开发中精准控制线宽及开启显示的代码示例,强调通过Application.SetSystemVariable设置变量,确保插件环境下线宽效果即时可见。

ultramand的博客,重生之我在cad上二次开发猛猛敲C#代码~ 21

ASP.NET的页面和控件

欢迎来到《ASP.NET网站开发》课程的第章!在本章中,我们将深入探讨ASP.NET的页面和控件ASP.NET页面是构建Web应用程序的基本单元,而控件则提供了丰富的功能和交互能力。本节将详细讲解ASP.NET页面的结构、常用的服务器控件以及如何处理控件的事件。本节中,我们深入探讨了ASP.NET的页面和控件,以及它们在Web应用程序中的作用和功能。我们学习了ASP.NET页面的结构,包括@Page指令、HTML元素和代码块。我们还介绍了常用的服务器控件和它们的功能。

听风的声音 1216

今天控件了吗 --Asp.net服务器控件开发系列文章

今天控件了吗 --Asp.net服务器控件开发系列文章 汇总简介:        Asp.net包含个页面和控件框架,即WebForms,服务器控件是WebForms编程模型的基本要素,控件简化了页面开发的过程,控件为代码复用和封装提供了种机制,非常适合作为RAD的设计工具。此外,服务器控件可灵活扩展的特性为众多开发者敞开实现新的、令人激动的自定义控件的大门。        可

小马的专栏 1831

Asp.net之旅】--数据绑定控件之ListView

对于数据绑定控件来说Repeater控件是最基础的了,它因为最原始所以受到广大开发人员的喜爱,对有经验程序员来说在开发时往往采用Repeater,因为它使用灵活,稳定,不会产生恶意代码,并且效率高。对比几种控件这就不得不说说另外.net平台的厉害之处,针对不同开发程度的人员封装了不同的开发控件,对于菜鸟级别的开发人员来说GridView和ListView应该是他们的首选,因为操作简单

航帆远洋 2万+

ASP.NET控件开发 - 概念和HelloWorld控件

今天我们来看下如何开发自己的ASP.NET控件。要开发ASP.NET控件首先必须知道控件开发的常用基类。如下:1)Control  这是所有控件的基类,所有控件都直接我间接继承它。2)WebControl  用于开发简单控件,它和Control的区别就是:      WebControl不但继承了Control的所有属性,还增加      了布局,可访问性,外观样式等特性。   (我们等下的...

weixin_34336526的博客 249

HarmonyOS APP开发---“面对面“视频通话App,需要用到这个库

"面对面"要实现的是:用户 A 拨打视频电话给用户 B,B 接通后双方实时看到对方画面、听到对方声音,延迟在 200ms 以内。NAT 穿透:A 和 B 都在各自的家庭 WiFi 后面,怎么建立 P2P 连接?需要 ICE/STUN/TURN音频处理:扬声器声音别回灌到麦克风(AEC)、环境噪声要消除(ANS)、音量要自动调节(AGC)视频编解码:H.264/VP8/VP9 编解码 + 硬件加速带宽估计 + 拥塞控制:网络差时自动降码率,别卡成 PPTWebRTC。

OH_TPC的博客 216

基于.NET的Windows窗体编程之WinForms文件监控

在实际应用开发中,有时候需要操作本地文件或文件夹,还需监控磁盘目录的变化,比如当新增或删除文件时,提示变更信息,以起到警示作用。合理的文件监控,还可以起到事半功倍的效果,今天我们以些简单的小例子,简述基于.NET的Windows窗体编程中FileSystemWatcher控件的相关应用,仅供学习分享使用,如有不足之处,还请指正。

绳锯木断,水滴石穿,专心写文,无问西东!!! 271

基于.NET的Windows窗体编程之WinForms滑块与上下控件

<think>我们根据内容生成摘要,≤150字。提取核心:介绍WinForms中TrackBar、DomainUpDown、NumericUpDown三个控件的用法,强调合理利用提高用户体验、节省空间。需简洁。</think>本文介绍.NET WinForms中三个实用控件:DomainUpDown用于上下选择列表项,NumericUpDown用于数值增减,TrackBar滑块直观调值。合理布局可提升体验、节省空间,附属性与事件示例。

绳锯木断,水滴石穿,专心写文,无问西东!!! 172

.NET 线程安全集合与并发数据结构深度实战:从 lock 到无锁

<think>我们需要根据用户提供的文本,生成个不超过150字的文章摘要。用户给出了这篇关于.NET并发编程的长文,内容涵盖ConcurrentDictionary、线程安全集合、锁、原子性等。需要提炼核心,控制字数。 我们需要先理解文章主旨:通过两个事故(计数器丢更新、字典死循环)引出“线程安全集合只保证内部结构安全,不保证复合逻辑正确”。然后深入讲解ConcurrentDictionary内部、AddOrUpdate的工厂陷阱、GetOrAdd的副作用问题,并提供解决方案(StrongBox+Inte

一个热爱编程的人 220

技术速递|今天我将……现代化.NET 应用

现在,我们已经成功将这个应用升级到了 .NET 10。如果你愿意,还可以继续使用 GitHub Copilot .NET 现代化工具,将这个应用进步迁移到 Azure。面向初学者的 .NET 现代化指南。课程会更加深入地介绍应用的升级和迁移流程。欢迎前往了解。当然,也欢迎在这篇文章下留言,告诉我们你的使用体验。查看面向初学者的 .NET 现代化指南课程!

MicrosoftReactor的博客 231

电脑全能修复大师 Gilisoft Total Repair,智能检测修复系统、应用、游戏问题!DLL、DirectX、.NET运行库损坏修复+缺失自动补齐!

、“点了没反应”、“闪下就退了”,其实这些情况,就是电脑缺系统组件了,当然,除了原本就缺少外,也包括在工作、游戏过程中,因为操作不当或意外导致的损坏,这个时候,就需要对电脑各种故障问题进行系统修复了。总的来说,它涵盖了5种功能:系统清理、系统修复、系统优化、文件修复,压缩解压,这也就使它从原本的系统修复工具升级成了电脑多功能工具箱。它会自动对当前系统进行深度扫描,包括:应用程序扫描、系统错误扫描、系统DLL扫描、游戏修复、C++运行库扫描、.net运行库修复等。当然,也可以对具体问题,进行单独处理;

2601_96690350的博客 180

微软技术周报·2026-08-24~2026-08-31——.NET11 Preview7最后个预览版、AI Agent基础设施全面走向GA与治理化

微软技术周报:.NET 11功能冻结前最后版Preview 7发布,C#带标签break、union模式改进,Runtime Async性能飞跃;AI Agent全面GA与治理化(Agent Plugins 1.0、VS 2026组织级Agent、Copilot Studio迁移Entra Agent ID);Windows 11 26H2进入Release Preview,预计9月底推送。

海盗Sharp的博客 729

推荐.net工具RuoVea.ExUtil

/ 当前 UTC+8 区 Unix 时间戳(秒)// Unix 时间戳 → DateTime// DateTime → Unix 时间戳(秒)⚠️已知缺陷硬编码,仅适用于 UTC+8(中国时区)场景,非东八区环境需自行处理。文件: Validate/Attributes/EmailAttribute.cs构造参数: msg(自定义错误消息)实际: 构造函数接收 msg 参数后未使用,始终返回硬编码的英文错误消息。

A_nanda的博客 336
上一篇: C# 反射机制(转)
下一篇: 今天你写控件了吗?----ASP.net控件开发系列之(二)
limina
博客等级 码龄19年 20粉丝 24原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值