iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >ASP.NET如何实现WEB控件
  • 740
分享到

ASP.NET如何实现WEB控件

2023-06-18 00:06:26 740人浏览 安东尼
摘要

小编给大家分享一下asp.net如何实现WEB控件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!ASP.net的WEB控件分二大类,分别在System.Web.UI.WebControls、System.Web.UI.ht

小编给大家分享一下asp.net如何实现WEB控件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

ASP.net的WEB控件分二大类,分别在System.Web.UI.WebControls、System.Web.UI.htmlControls命名空间下,前者继承自WebControl,后者继承自HtmlControl,这二个类又都继承自System.Web.UI.Control的windows平台,不论你从事什么开发,最终都需要有人调用loadlibrary.dll.

那么ASP.NET的WEB控件,不论你使用什么控件,最终都要调用Render.

其实做为前台开发,这些控件大部分不是那么好用.

首先会生成长长长长的ID,特别是面页镶套有控件的时候,一是会让你最终的HTML代码膨胀,另外和js配合的时候死了麻烦,要和js交互需要写一堆 <%=control.clientid>,没办法,ASP.NET非要'善意'的帮助我们解决ID冲突的问题.这个ID为什么不和最终生成的ID分开呢,可能是当时做这套控件的时候javascript还没有现在这么强大,被ms忽略了.

还有多生成一个span的问题,即不w3c,又不利于排版.写CSS的时候要考虑夹在中间不尴不尬的span.

fORM问题,很多表单等控件,要用到server端form,当而面有多个form的时候,只能把其中的一些form用js交互了,form在URL重写的时候还有个问题,生成的不是URL重定向后路径,server端处理这又需要重写form

对于新手还有长长的_VIEWSTATE

很多时候,我们编写前台代码的时候,只是需要简单的呈现出来,不需要长长的ID,不需要span,不需要_VIEWSTATE,仅仅需要几行干净的HTML标签,但是根本没有选项或属性设置,要么全部给你,要么全不给 .虽然我们可以像asp,和ASP.NET那样来编写代码,但是既然提供了总是要用的.

WebControl也带来一定的灵活性,现在ASP.NET web开发,基本都分是N层架构, 如果这些代码都在逻辑层输出,不修改源代码就没办法更改了,连接文字 比如这样的,简单的个改连接文字模板等属性.另外,表格控件用在后台编辑数据等也是相当方便. 但是用在前台,GridView之类的设计成美工切好的图,绝对的体力活.

有些人使用ASP.NET的WEB控件都快有强迫症了,前台简单的显示都要用GridView,明明StringBuilder拼凑又简洁,又高效么.

前几天碰到一个奇怪的问题,想做一个效果, 鼠标移动到图片上,高亮显示边框,美工做好加入到代码中,死活没效果,找半天不知道怎么回事,后来无意中发现所有的Image控件,自动加上了, 好吧,后处台处Image.Attributes.Remove("style");还是有在加上Image.Attributes.Clear();仍然有,决对是个脑残的设计,大概是为了解决夹在a标记中的img标记默认的1px的border的问题吧,可是这就没办法用css来处理Image的border属性了。

我最常用的控件:

literal 干净,方便.拼凑HTML代码,js代码

repeater 干净的列表

placeholder 控制显示逻辑

最脑残的控件:

Image 原因见上面一条

最没价值的控件:

label  span套literal就行了,样式交给美工去解决,看不出有什么实用的价值.

难用的控件:

datalist ,gridview 生成div或列表布局好累(仅仅指前台)

其他控件视场合而定.

另外HtmlControl和WebControl的区别,网上有这样说的,纯属误导,实在看不下去了,解释一下

使用起来也相当方便,举个简单的例子,例如Button的生成:

Html控件是将庞大控件集合全部弄到页面中,用到哪个功能,就设置一下属性,如下:

<input type=submit/button/text runat=server>

这样会占用相当大的控件资源

这个纯属误导,还流传很广. 最终都是生成HTML标签,input之类的跟本不需要将庞大控件集合合部弄到页面中,只是最终生成一个标签而已,要说差异,也只是HtmlControl和WebControl基类之间的差异.

Web控件具有回送功能,能够用ViewState维持控件的状态.

Html控件则不能,当点击页面的操作,其状态就会丢失.

protected virtual void LoadViewState(object savedState);  protected virtual object SaveViewState()

其实这二个定义在System.Web.UI.Control基类中,只是WebControl重写了这二个方法,但HtmlControl里没有对这二个方法进行重写,但这不等于上面的说法

Html控件与Web控件***的区别是它们对事件处理的方法不同。对于Html窗体控件,当引发一个事件时,浏览器会处理它。但对于Web控件,事件仅由浏览器生成,但浏览器不会处理它,客户端要给服务器发个信息,告诉服务器处理事件。

这是混淆了server事件和客户端脚本事件,不论是实现自WebControl还是HtmlControl都可以触发Server端事件 
处理server端事件只要实现了IPostBackEventHandler接口的控件,都可以 。

看完了这篇文章,相信你对“ASP.NET如何实现WEB控件”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: ASP.NET如何实现WEB控件

本文链接: https://www.lsjlt.com/news/294644.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ASP.NET如何实现WEB控件
    小编给大家分享一下ASP.NET如何实现WEB控件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!ASP.NET的WEB控件分二大类,分别在System.Web.UI.WebControls、System.Web.UI.Ht...
    99+
    2023-06-18
  • ASP.NET中的Web控件介绍
    目录一、HTML控件二、HTML服务器控件三、Web服务器控件Web服务器控件和html服务器控件的区别四、Web用户控件五、Web自定义控件1、用户控件和自定义控件的异同2、实现自...
    99+
    2022-11-13
  • ASP.NET Web常用控件类型有哪些
    ASP.NET Web常用控件类型有以下几种:1. Label(标签):用于显示文本内容。2. TextBox(文本框):用于接收用...
    99+
    2023-09-13
    ASP.NET
  • ASP.NET实现Repeater控件的数据绑定
    Repeater基础 在aspx文件中加入Repeater 控件,在<ItemTemplate></ItemTemplate>包含的范围里加入自己控制的代码,...
    99+
    2022-11-13
  • ASP.NET如何实现Web网站本地化
    本文小编为大家详细介绍“ASP.NET如何实现Web网站本地化”,内容详细,步骤清晰,细节处理妥当,希望这篇“ASP.NET如何实现Web网站本地化”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、重写Initi...
    99+
    2023-07-02
  • ASP.NET中怎么实现一个复合控件
    这篇文章给大家介绍ASP.NET中怎么实现一个复合控件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。ASP.NET复合控件的呈现引擎在深入探讨 ASP.NET 2.0 编码技术之前,让我们回顾一下复合控件的内部例行过程...
    99+
    2023-06-18
  • ASP.NET中如何使用 Login控件
    今天就跟大家聊聊有关ASP.NET中如何使用 Login控件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。ASP.NET Login控件 Login 控件显示用于执行用户身份验证的用...
    99+
    2023-06-17
  • ASP.NET中如何使用 ListBox控件
    今天就跟大家聊聊有关ASP.NET中如何使用 ListBox控件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在ListMover控件中,JavaScript代码将把项从一个列表移动...
    99+
    2023-06-17
  • ASP.NET中AdRotator控件如何使用
    本篇文章为大家展示了ASP.NET中AdRotator控件如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。AdRodator控件用来在页面上生成随机广告性质的元素,并通过Advertiseme...
    99+
    2023-06-17
  • ASP.NET中怎么实现一个服务器控件
    ASP.NET中怎么实现一个服务器控件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ASP.NET组件设计之ASP.NET服务器控件1、用户控件类似page,基本上不需要编程,...
    99+
    2023-06-18
  • ASP.NET如何自定义控件开发
    这篇文章主要为大家展示了“ASP.NET如何自定义控件开发”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ASP.NET如何自定义控件开发”这篇文章吧。该控件的功能如下:显示服务端时间,并不停更新...
    99+
    2023-06-17
  • ASP.NET Web控件数据网格列类型都有哪些
    本篇内容主要讲解“ASP.NET Web控件数据网格列类型都有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET Web控件数据网格列类型都有哪些”吧!ASP.NET Web控件数...
    99+
    2023-06-18
  • ASP.NET实现Web网站本地化
    1、重写InitializeCulture方法。 在Global.asax中的Application_BeginRequest获取或设置语言,每次页面的请求都首先运行这个方法,然后再...
    99+
    2022-11-13
  • ASP.NET中怎么实现一个数据绑定控件
    本篇文章给大家分享的是有关ASP.NET中怎么实现一个数据绑定控件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。ASP.NET数据绑定控件一.回顾如果你使用过ASP.NET内置...
    99+
    2023-06-18
  • 如何实现SAP UI5 Web Component React控件的加载效果
    今天就跟大家聊聊有关如何实现SAP UI5 Web Component React控件的加载效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。假设我使用SAP UI5 Web Com...
    99+
    2023-06-04
  • ASP.NET中RegularExpressionValidator验证控件如何使用
    这篇文章给大家介绍ASP.NET中RegularExpressionValidator验证控件如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。ASP.NET验证控件之RegularExpressionValida...
    99+
    2023-06-18
  • Asp.NET Core 限流控制(AspNetCoreRateLimit)的实现
    起因: 近期项目中,提供了一些调用频率较高的api接口,需要保障服务器的稳定运行;需要对提供的接口进行限流控制。避免因客户端频繁的请求导致服务器的压力。 一、AspNetCoreRa...
    99+
    2022-11-11
  • 如何在ASP.NET应用程序中实现并发控制?
    在ASP.NET应用程序中实现并发控制是一个非常重要的问题。在这个过程中,我们需要考虑多个用户同时访问应用程序的情况,以确保应用程序在高负载下能够正常运行。 一、 什么是并发控制? 并发控制是指在多个用户同时访问应用程序时,通过一些手段来确...
    99+
    2023-07-20
    并发 spring 日志
  • ASP.NET控件设计时支持之自动格式设置是如何实现的
    这篇文章给大家分享的是有关ASP.NET控件设计时支持之自动格式设置是如何实现的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。先看个图相信大家都很熟悉吧,我们可以用这个面板很方面的使用预定的样式.我们可以称之为自...
    99+
    2023-06-18
  • ASP.NET实现文件上传
    本文实例为大家分享了ASP.NET实现文件上传的具体代码,供大家参考,具体内容如下 .NET中C/S和B/S上传文件不同 B/S中文件上传和C/S中的文件上传性质完全不一样 在C/S...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作