用户控件和自定义服务器控件的区别

C#自定义控件VS用户控件 C#自定义控件VS用户控件1、C#中自定义控件VS用户控件大比拼2、为自定义控件(或类)的方法属性添加注解2.1、Description:在属性窗口中添加属性及属性说明2.2、Browsable2.3、EditorBrowsable2.4、Category2.5、ToolboxBitmap 1、C#中自定义控件VS用户控件大比拼 自定义控件与用户控件区别 WinForm中,用户控件(User Control):继承自 UserControl,主要用于开发 Container 控件,Container控件可以 阅读详情

一、用户控件和自定义控件的主要区别在于设计时的易创造性与易用性。
      用户控件易于创建,为使用可视化设计工具的使用者提供有限的支持,每个应用程序中需要控件的一个单独副本,不能添加到visual  studio工具箱中,适用于静态布局,它们在高级方案中使用起来可能不太方便。
自定义服务器控件是经过编译的代码,这使其易于使用但难于创建。它为使用者提供完全的可视化设计工具支持,仅在全局程序集缓存中需要控件的单个副本,可以添加到visual studio中的工具箱,适用于动态布局。
如果您的控件包含大量静态布局,用户控件则可能是较佳的选择。如果您的控件主要是动态生成的,自定义控件则是较佳的选择。

 

二、(1)用户控件和自定义控件概述  
       用户控件(UserControl):  扩展名为*.ascx,跟*.aspx在结构上相似,是指页面中 加载的功能块,只是用户控件不能单独作为页面运行,必须嵌入到*.aspx页面或其它用户控件中使用.  
       自定义控件,跟HtmlControl或WebControl相似,编译后可以添加引用到工具栏里面,直接用鼠标拖动使用.  
 
    (2)使用        
       在一个大系统中,有时候会只能几个*.aspx页面,其余的都是做成*.ascx页面,  
这样可以增强页面之间的藕合性,一个用户控件*.ascx都作为一个独立的功能块.  
       自定义控件是指编译后直接可以放到工具箱中用,就像TextBox,DataGrid一样  
在设计器中可以用鼠标拖动到页面上使用.  
       自定义服务器控件分为两种:    
               1.一种是用*.aspx代码和*.cs代码编译后生成DLL,再添加引用到工具箱使用.          
                   一般用于WebForm中.        
               2.另一种是只用*.cs实现,再编译生成DLL,添加到工具箱使用.  
                   一般用于WinForm中.  
       自定义控件生成步骤:  
             比如:    
               1.  将一个Button从设计器拖到页面中,  
                     对按钮大小,颜色或文本设置一个固定值,保存文件名为:  a.cs  
               2.  csc  /r:System.dll  /t:library/out:../../A.dll    a.cs  
               3.  右击工具箱空白处,弹出右击菜单后,选“添加移除项”,将刚生成的DLL  
                     添加到工具箱里面来,这样,就可以像一般的Button一样拖动使用了

三、(1)用户控件用.ascx文件表示,在"添加新项"中点击"vveb用户控件".它不是编译代码,编译随网页动态的进行

 

      自定义控件在dll文件中表示,它是编译代码。在“新建项目”的模块中点击“web控件库”,用户控件不会出现在工具箱中,而自定义控件会出现在工具箱中。

用户控件支持缓存,而自定义控件不支持缓存。

用户控件会对使用可视化设计的用户提供有限的支持,而自定义控件会提供全面的支持。

用户控件可以在一个应用程序中重用,但不能跨应用程序重用。

自定义用户就可以跨应用程序使用,它放在被称为全局程序集缓存的中央库中,以便那台服务器上的所有应用程序都可以使用它。

用户控件不能独立存在和使用,它要求用asp.net页面作为容器。

 下面是一个login用户控件的示例

public partial class Login : System.Web.UI.UserControl
{
    protected SqlConnection conn;
    protected SqlCommand cmd;
    protected SqlDataReader dr;
 
    /// <summary>
    /// Txtusername是用户控件的属性,要想在aspx访问它必须先封装起来为public才行
    /// </summary>
    public  string Txtusername
    {
        get { return this.TextBox1.Text; }
        set { this.TextBox1.Text = value; }
    }
   
    protected void Page_Load(object sender, EventArgs e)
    {

    }
   
    protected void Button1_Click1(object sender, EventArgs e)
    {
        string strname = this.TextBox1.Text.Trim();
        string strpwd = this.TextBox2.Text.Trim();
        //根据指定的密码利用哈希算法转换成一个MD5的哈希密码
        //this.Response.Write(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strpwd, "MD5"));

        conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DBuserConnectionString"].ToString());
        conn.Open();
        cmd = new SqlCommand("select * from userdetails where username=@username and userpwd=@userpwd", conn);//System.Web.Configuration.FormsAuthPasswordFormat.MD5
        cmd.Parameters.Add(new SqlParameter("@username", strname));
        //注意如果数据库里的密码是加密的话,在这里根据条件查询赋值前也得MD5加密才是
        cmd.Parameters.Add(new SqlParameter("@userpwd", System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strpwd, "MD5")));
        dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
        //前进下一条记录
        if (dr.Read())
        {
            //状态管理,在asp.net中默认的状态是用cookie保存的
            //在用户每次登陆成功时就把用户保存到Cookie中,并用一个复选框来管理用户是否多长时间保存状态
            HttpCookie cookie = new HttpCookie("username", strname);

            if (this.CheckBox1.Checked)
            {
                //设置cookie的过期日期
                cookie.Expires = DateTime.Now.AddMonths(1);
                //响应后添加到cookies集合里
                this.Response.Cookies.Add(cookie);
            }
            //过3秒后自动跳转页面,相当于html的mate标签
            this.Response.AppendHeader("refresh", "3;url=DataListDemo1.aspx");
        }
        else
        {
            this.Response.Write("username or password are wrong!");
        }
        conn.Close();
    }
}

asp.net控件汇总 引言:     通过这段时间对asp.net的学习,发现有一半的课程都在讲控件,和我们之前的学习有类似的,也有不同的,下面小编进行了一下总结,若有理解不对的地方,还请指正!   导图:       asp.net控件的两大主要控件就是html控件和web控件,用户控件和自定义控件相对来说用的不是很频繁。   html控件和web控件: 定义:  html控件:     阅读详情

相关推荐

WPS专业版自带字体

WPS专业版其中一个好处就是自带了部分有版权的字体,就算你安装了没买授权,他也会给你在系统里面安装上这些字体,至于没授权继续用合不合规我不知道。但是带来的实实在在的好处就是有些子他支持的全啊。 /usr/share/fonts/wps-office/FZWBK.TTF: 方正魏碑_GBK,FZWeiBei\-S03:style=Regular /usr/share/fonts/wps-office/FZFSK.TTF: 方正仿宋_GBK,FZFangSong\-Z02:style=Regular /us

chenqioulin的博客 5701

WinForm用户控件和自定义控件的异同;

1.转自:http://blog.chinaunix.net/uid-20476365-id-1942444.html 复合控件是封装在公共容器内的 Windows 窗体控件的集合。这种控件有时称为“用户控件”。包含的控件称为“构成控件”。   复合控件包含与每个包含的 Windows 窗体控件相关联的所有固有功能,允许您有选择地公开和绑定它们的属性。复合控件还提供了大量的默认键盘处理功能

threadroc的专栏 1847

2023-12-26~2025-07-04备份

一、海康视觉与汇川机器人 服务器-客户端通信设置IP在同一网段名称IP端口类型海康相机工控机7930服务器机器人3000客户端海康VM服务器设置1通信管理 增添TCP服务端,设置本机IP:192.168.0.20,端口号79302 协议解析 通信双方约定通信格式(设置收发数据格式,分隔符)机器人客户端设置(不同类型机器人设置有差别)1 通讯服务设置 设置连接服务器IP、服务端端口号、机器人端口号,确保连接正常2 协议解析 使用指令代码构建通讯解析。

青铜小码农 3126

【转】用户控件和自定义控件的区别

test:一.如果现有的 ASP.NET 服务器控件都不符合应用程序的特定要求,则可以创建封装所需功能的 Web 用户控件或 Web 自定义控件。这两种控件之间的主要区别在于设计时的易创建性与易用性。 Web 用户控件易于创建,但它们在高级方案中使用起来可能不太方便。开发 Web 用户控件的方式与开发 Web 窗体页的方式几乎完全相同。与 Web 窗体相似,用户控件可以在可视化设计器中创建,可以使...

weixin_33817333的博客 204

BIM模型轻量化避坑指南:Revit导出GLTF常见问题及解决方案

本文深入探讨了BIM模型轻量化过程中,从Revit导出GLTF格式时遇到的常见问题与解决方案。针对文件体积膨胀、材质丢失、属性信息缺失等核心痛点,提供了从数据预处理、Draco几何压缩、纹理优化到Web端性能调优的全流程实战指南,帮助工程师高效实现BIM模型在WebGL环境中的流畅展示与交互。

wdx012345的博客 171

Protege新手必看:从安装到建模的完整指南(附推理功能详解)

本文为Protege新手提供从安装、配置到核心建模的完整实战指南。详细讲解了Java环境准备、本体项目创建、类与属性定义、个体填充等关键步骤,并重点解析了推理功能的配置与使用,帮助读者快速构建可逻辑推理的知识图谱,避开常见陷阱。

numpy6sculptor的博客 797

用户控件和自定义控件的定义及区别

(一).用户控件和自定义控件概述         用户控件(UserControl):  扩展名为*.ascx,跟*.aspx在结构上相似,是指页面中  加载的功能块,只是用户控件不能单独作为页面运行,必须嵌入到*.aspx页面或其它用  户控件中使用.         自定义控件,跟HtmlControl或WebControl相似,编译后可以添加引用到工具栏里  面,直接用鼠标拖动使用.   (

★(ChengKing)【夜战鹰】【产品级性能调优与故障诊断分析】★ 3819

深入浅出ISP:用RKISP2.x Tuner工具理解AWB、AE、HDR等核心模块的实战调参

本文深入解析RKISP2.x Tuner工具在ISP图像处理中的实战应用,重点探讨AWB、AE、HDR等核心模块的调参技巧。通过环境搭建、调试工具使用和实际案例,帮助开发者掌握如何在不同光照条件下优化图像质量,实现精准的白平衡、曝光控制和动态范围处理。

weixin_26802933的博客 487

用户控件和自定义控件的区别

一.如果现有的   ASP.NET   服务器控件都不符合应用程序的特定要求,则可以创建封装所需功能的   Web   用户控件或   Web   自定义控件。这两种控件之间的主要区别在于设计时的易创建性与易用性。 Web   用户控件易于创建,但它们在高级方案中使用起来可能不太方便。开发   Web   用户控件的方式与开发   Web   窗体页的方式几乎完全相同。与   Web   窗体相似,用户控件可以在可视化设计器中创建,可以使用与   HTML   隔离的代码来编写,并且可以处理执行事件。但是,

johnpeak 7515

零基础学习simulink-- 四旋翼和六旋翼无人机的建模与动力学分析

通过上述代码实现,您可以逐步创建和搭建一个多旋翼无人机(如四旋翼、六旋翼)的动力学模型,并结合自适应控制器进行仿真。该模型不仅考虑了无人机的基本动力学行为,还引入了空气阻力、螺旋桨之间的相互作用以及气流干扰等复杂效应,使得仿真结果更加接近实际情况。Simulink 提供了强大的建模和仿真工具,使得控制系统工程师能够快速构建复杂的控制算法,并将其应用于实际工程中。多旋翼无人机动力学建模:建立四旋翼和六旋翼无人机的动力学模型,包括平移运动和旋转运动方程。升力和扭矩模型。

amy_mhd的博客 388

【python股票价格预测】基于LSTM(长短期记忆网络)的股票价格预测(附python代码)

【python股票价格预测】基于LSTM(长短期记忆网络)的股票价格预测(附python代码)

k8291121的博客 1012

ASP.NET中共有哪几种类型的控件?其中,HTML控件、HTML服务器控件和WEB服务器控件之间有什么区别

【考点】 ASP.NET中的控件类型理解。 【出现频率】 ★★★☆☆ 【解答】 ASP.NET的控件包括WEB服务器控件、WEB用户控件、WEB自定义控件、HTML服务器控件和HTML控件。HTML控件、HTML服务器控件和WEB服务器控件之间的区别如下所示。 qHTML控件:这完全是浏览器端的HTML标签控件,例如HTML中常见的单选框表单控件,其HTML代码如以下代码所示。 &lt...

sinolover的专栏 2188

Open3D KD-tree的使用【2025最新版】

Open3d使用FLANN构建KDTree以便进行快速最近邻检索。博客长期更新,本文最近一次更新时间为:2025年1月1日,代码已同步更新至Open3D 0.18.0版本。

点云侠的博客 40万+

用户控件

http://www.cnblogs.com/SkySoot/archive/2012/09/04/2670678.html 在 .NET 里,可以通过两种方式把自己的控件插入到 Web 窗体框架中: 用户控件:它是一小段页面,可以包括静态 HTML 代码和 Web 服务器控件。用户控件的好处是一旦创建了它,就可以在同一个 Web 应用程序的多个页面重用它。用户控件可以加入自己的属性,事件

Lyncai的专栏 887

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

用Visual C#.NET编写服务器日期控件

 一、序言  Visual C#.NET是微软公司出品的一种新的编程语言(以下简称C#),它继承了C语言的一些特性,也加入了一些新的元素。以前用过Delphi开发程序的人可能刚开始使用C#的时候,对其有一种似曾相识的感觉(至少包括我)。是的,C#语言的创始人正是以前在Borland公司开发出Delphi语言的Anders Hejlsberg。在我开始使用C#开发程序时,就觉得它是一款很棒...

aibi9196的博客 201

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Asp.net服务器控件编程(2) 来做个热身运动吧

[以下的Control、WebControl分别位于System.Web.UI和System.Web.WebControls名称空间下]创建Asp.net里的服务器控件和Windows Form的控件一样,也有几种方式: 1、用户控件(user control) 2、从Control、WebControl派生的自定义控件 3、...

ajw1282的博客 159

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

用VisualC#.NET编写服务器日期控件

一、序言   Visual C#.net是微软公司出品的一种新的编程语言(以下简称C#),它继承了C语言的一些特性,也加入了一些新的元素。以前用过Delphi开发程序的人可 能刚开始使用C#的时候,对其有一种似曾相识的感觉(至少包括我)。是的,C#语言的创始人正是以前在Borland公司开发出Delphi语言的 Anders Hejlsberg。在我开始使用C#开发程序时,就觉得它是一款很棒的开...

weixin_30361641的博客 76

ASP.NET服务器控件编程之热身运动

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 364

ASP.NET中WEB控件介绍

web控件是什么?在ASP.NET中都分为哪些控件? 这节课就讲解一下WEB控件的功能及介绍 一:Web控件分类: HTML控件 例: HTML服务器控件  例: <input id="Text1" type="text" runat="server" /> Web服务器控件  例: <asp:TextBox ID="TextBox1" runat="server"

u013807634的专栏 527

Asp.net控件开发学习笔记(三)-控件开发基础

封装在asp.net中,控件被分为两类.用户控件和自定义服务器控件。前者就是我们经常用来将一些可复用的内容封装成的.ascx文件。这里主要研究后者.创建自定义服务器控件创建自定义控件的第一步是选择以哪一个类作为基类来创建控件,Asp.net最常见的几个基类罗列如下:lSystem.Web.UI.Control:这是所有控件的基类,所有作为控件的类都必须直接或者间接的继承此类,此类仅仅提供最少量的属...

weixin_30532973的博客 89

.NET三层经典架构PetShop3.0分析之表现层

前面从架构方面介绍了petshop怎样通过工厂模式可以轻松替换持久层实现。这次简单说一说petshop的表现层实现。 petshop的表现层使用了Web 页面(aspx)和用户控件(ascx)控件及自定义服务器控件等ASP.NET技术。 web页面(aspx)是用户和服务器交互的接口,也是用户除静态页面外唯一能够访问到的asp.net组件,其他像用户控件(ascx)和服务器控件只能在web...

技术代码资料库 113
上一篇: 浅析C#事件处理机制
下一篇: ASP.NET 状态管理概述
灿烂阳光168
博客等级 码龄23年 29粉丝 33原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值