ASP.NET立即上手教程 7

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
Web Forms 用户控件
用户控件介绍
除了ASP.NET提供的内建的服务器控件外,你还可以使用已经掌握的制作WEB FORMS 页面的
技术,轻松的定义自己的控件。实际上,只需要稍微改动一下,几乎任何WEB FORMS页面都
可以作为服务器控件,在其他页面上重复使用。(注意用户控件的类型是System.Web.UI.U
serControl, 它直接从System.Web.UI.Control继承而来)。 Web Forms 页面被作为服务器
控件使用的时候,简称为用户控件。转变之后,通常使用.ascx扩展名来表明用户控件。这
就保证了用户控件文件不能作为一个单独的web form页面来执行(你可以明白,在用户控件
和web forms 页面之间,有一点,但是很重要的区别)。用户控件使用Register(注册)指
令包含在Web Forms 页面中:
TagPrefix 为用户控件确定了唯一的名称空间。(这样,具有相同名字的多个用户控件可以
互相区分). TagName 的值是用户控件的唯一名称(你可以使用任何名字)。 Src 属性是用
户控件的虚拟路径—例如"MyPagelet.ascx" 或者 "/MyApp/Include/MyPagelet.ascx"。
注册用户控件之后,你可以在web forms页面中放置用户控件标签,就像是用平常的服务器
控件一样(包含runat="server" 属性):
下面的例子展示了web forms页面引入用户控件的情况。本例中的用户控件仅仅是一个简单
的静态文件。
C# Pagelet1.aspx
[运行] | [源文件]
扩展用户控件的属性
当web forms页面作为用户控件处理的时候,web forms页面的公共字段和方法升级为公共
属性(即标签属性)和公共方法(标签的方法)。下面的例子将上一个例子中的用户控件进
行延伸,增加了两个公共 String字段。注意这两个字段既可以在包含页中直接声明,也可
以用程序来控制。
C# Pagelet2.aspx
[运行] | [源文件]
除了将公共字段升级为控件属性外,也可以使用属性语法。 使用属性语法胜过为了设定或
者取得属性值而执行代码。下面的例子示范了一个Address 用户控件,他绑定了TextBox
控件的text 属性。这样做的好处在于该控件“免费”继承了TextBox 控件的自动状态管理
。注意在包含web forms页面中有两个Address 用户控件,分别为"Billing Address" 和
"Shipping Address" 设置Caption 属性。用户控件的真正强大之处就是这种重复利用。
C# Pagelet3.aspx
[运行] | [源文件]
用户控件的另一个有用之处是 Login 控件,用来收集用户名和密码。
C# Pagelet4.aspx
[运行] | [源文件]
在这个例子中,服务器验证控件添加到了Login用户控件中
C# Pagelet5.aspx
[运行] | [源文件]
在用户控件中封装事件
如同普通的服务器控件一样,用户控件参与整个请求执行的生命周期。这就意味着,用户
控件能够操作自己的事件,从包含web forms页中封装某些页面逻辑。
下面的例子演示了一个产品列表用户控件,它在内部处理了自己的提交返回。注意用户控
件自身没有绑定
控件。因为只有一个表单控件出现在页面上(asp
.net不允许嵌套服务器表单),于是留给包含web forms 页面去定义他。
C# Pagelet6.aspx
[运行] | [源文件]
用程序创建用户控件
如同普通服务器控件可以用程序创建一样,用户控件也一样。页面的LoadControl方法用来
载入用户控件,同时将虚拟路径传递给用户控件的源文件所在。
Control c1 = LoadControl("pagelet7.ascx");
((Pagelet7CS)c1).Category = "business";
Page.Controls.Add(c1);
用户控件的类型是由Control 命令的ClassName 属性所决定。例如下面的例子,一个文件
名保存为"pagelet7.ascx"的用户控件被赋值为 "Pagelet7CS" 强类型:
因为LoadControl 方法返回的类型是System.Web.UI.Control, 所以为了设置用户控件的个
别属性,它必须抛出适当的强类型。最终,用户控件加入到基本页面的ControlCollectio
n 集合中。
C# Pagelet7.aspx
[运行] | [源文件]
重要提示 对于包含用户控件的web forms 页面,只有当Register 命令包含了用户控件(
即使没有用户控件标签被实际声明),用户控件的强类型才是可利用的。
本章小结
1. 用户控件允许开发者使用创建web forms页面所使用的程序设计技术,轻松的创建自定
义控件。
2. 作为与普通页面的区别,使用.ascx 文件扩展名来表明用户控件。这就保证了用户控件
不能像标准web forms页面那样执行。
3. 使用Register 命令,将用户控件包含在web forms页面中。Register 命令指定了TagP
refix, TagName, 和Src location。
4. 注册了用户控件之后,就可以像对待普通服务器控件那样,使用用户控件(包含runat
="server" 属性)。
5. 用户控件被包含在web forms 页面中以后,他的公共字段、属性和方法升级为控件的公
共属性(标签属性)和方法。
6. 用户控件参与每个客户端请求的整个生命周期,并且处理自身的事件,封装了部分包含
他的web forms页面的页面逻辑。
7. 用户控件不能包含任何form控件。如果需要的话,可以在包含他的web form页面中使用
form控件。
8. 用户控件可以用System.Web.UI.Page类的LoadControl方法用用程序来创建。用户控件
的类型由Control 命令的ClassName 属性所决定。
9. 对于包含用户控件的web forms 页面,只有当Register 命令包含了用户控件(即使没
有用户控件标签被实际声明),用户控件的强类型才是可利用的。
ASP.NET Core 入门教程 7ASP.NET Core MVC 分部视图入门 一、前言 1、本教程主要内容 ASP.NET Core MVC (Razor)分部视图简介 ASP.NET Core MVC (Razor)分部视图基础教程 ASP.NET Core MVC (Razor)强类型分部视图教程 2、本教程环境信息 软件/环境 说明 操作系统 Windows 10 SDK 2.1.401 ASP.NET Core 2.1.3 IDE V... 阅读详情

相关推荐

视频教程-ASP.NET Core跨平台开发实战-.NET

ASP.NET Core跨平台开发实战 徐照兴,教研室主任,硕士,副教授,专...

weixin_33349562的博客 2002

asp.net WebForm之用户自定义控件

关于用户自定义控件,想必大家已经非常熟悉了。虽然说经常用过,但是只是简单的使用而已。在这里再次总结一下Asp.net中的UserControl,以便下次使用时 能够得心应手。本文将会介绍以下内容: 1,什么是UserControl? 2,如何定义一个UserControl? 3,如何使用UserControl? 4,如何通过UserControl属性来控制html? 5,如

ydm东方旭日的专栏 1万+

win7下安装IIS7.0及部署VS2010 ASP.NET程序网站的相关问题

新装了win7系统,VS2010,安装IIS管理服务器时,出现了很多问题,搜集网上相关的资料,并结合自己的解决方法,记录下来,供以后能更加便捷的操作使用。

xmwangtiger的专栏 4万+

System.Web.UI.UserControl”,因此此处不允许

ASP.net中出现不扩展类“System.Web.UI.UserControl”,因此此处不允许。此类问题时。 这个问题是在我使用用户控件加载数据时出现的错误! 在 aspx。cs 页面 直接可以这样 用public partial class UserLogin : System.Web.UI.Page但 当我把页面做成用户控件 WebUserControl 在后台...

weixin_30377461的博客 641

“System.Web.UI.UserControl“不包含“xxxx”的定义

<br />环境:vs2008<br /> <br />具体问题:<br />在 代码隐藏 模式的页面(aspx,代码在 .cs)调用一个没有使用 代码隐藏 的 用户控件(所有代码都在一个 ascx 里),该控件增加了公开的属性。调试时(在有代码的目录上直接运行网站)正常,而在发布时,如果发布选项是 允许修改预编译 (即勾上第一个方块),就在发布编译过程提示这个错误。<br /> <br />其他信息:<br />经过试探,可以确认这些细节,<br />发布时去掉第一个勾,可以通过;<br />在一个同样不

louzu1的专栏 2845

.ascx用户控件

.ascx用户控件参考系列教程User controls in asp.net - Part 104用户控件包含了html、代码和其他Web或者用户控件的组合,并在Web服务器上以自己的文件格式保存,其扩展名是*.ascx 用户控件重用相同的代码,从而节省了大量的开发和测试时间。简而言之,用户控制,增加了代码的可重用性,实现封装,减少开发和维护时间。用户控件与webform的异同: 1.设计和实

了凡 7337

webform用户控件

一,用户控件与页面的区别 1.扩展名:用户控件——.ascx 页面——.aspx 2.内容:页面有完整的HTML标记,用户控件没有 3.声明指示符:页面<%@ Page ...%> 用户控件<%@ Control ...%> 4.类的派生:页面派生自Page,用户控件派生自UserControl 5.页面可以独立运行,用户控件不能,它只能放在页面中才能运行 ...

weixin_30569001的博客 211

ASP.NET立即上手教程 3

处理服务器控件事件每一个asp.net服务器控件都具有对象模型的特点,包含属性、方法和事件。Asp.net开发者可以使用这个对象模型来动态修改页面,以及与页面交互。下面的例子演示了asp.net页面开发者如何通过处理控件的OnClick事件,来操纵 控件的Text 属性。C# Intro6.aspx[运行] | [[源代码]这个简单的例子在功能上等于前面介绍的"Intro3" 例子。然而,你却可以

★★创造未来★★ 1753

Angular 7 项目与 ASP.NET Core API 集成教程

Angular 7 项目与 ASP.NET Core API 集成教程 项目介绍 本项目是一个结合了 Angular 7 前端框架和 ASP.NET Core API 后端服务的开源项目。项目旨在展示如何使用 Angular 7 构建现代化的前端应用,并通过 ASP.NET Core API 提供数据和服务支持。通过本项目,开发者可以学习到如何在前端和后端之间进行数据交互,以及如何构建一个完整的 ...

gitblog_00392的博客 1211

ASP.NET立即上手教程 8

数据绑定服务器控件数据绑定概述及语法Asp.net引入了一种新的声明数据绑定的语法。这种极其灵活的语法允许开发者不仅绑定数据源,而且可以绑定简单的属性、集合、表达式、甚至是调用方法所返回的结果。下面的列表显示了这种新语法的一些例子: 简单属性 Customer:集合 Orders:表达式 Contact:方法结果 Outstanding Balance:尽管这种语法看上去和asp中Response

★★创造未来★★ 1203

ASP.NET立即上手教程 10

发信人: jiajv (小雨~作回最出色的自己), 信区: DotNet标  题: ASP.NET立即上手教程 10发信站: 日月光华 (2003年05月05日00:31:31 星期一), 站内信件在SQL数据库中更新数据在web应用程序中更新数据库常常是一件棘手的事情。DataGrid控件提供了一些内建的支持,使得更新数据库变得容易。要想编辑行记录,DataGrid支持一个整数类型的EditIt

★★创造未来★★ 905

ASP.NET 安装使用教程

ASP.NET是由微软开发的开源Web开发框架,支持多种开发模式(MVC、Razor Pages、Blazor等)。开发环境需安装.NET SDK和IDE(推荐Visual Studio或VSCode)。创建项目可通过命令行或IDE,项目结构包含控制器、视图等核心组件。运行调试支持命令行和IDE方式,部署可选用IIS或Docker。常见问题涉及端口冲突和路由配置,学习资源推荐微软官方文档和B站课程。本文由"小奇Java面试"原创,提供项目源码、简历模板等配套资源。

真正的大师永远怀着一颗学徒的心 1368

ASP.NET5》Windows 7下Visual Studio 2015安装记录

最近想尝试一下在IBM Bluemix上使用ASP.NET5创建Web应用程序,所以需要在本地搭建ASP.NET5 Web的开发测试环境。操作系统:Windows 7 x64VS:Visual Studio Community 2015(含 Update 1)ASP.NET5是什么?ASP.NET 5是一个跨时代的改写,所有的功能和模块都进行了独立拆分,做到了彻底解耦。为了这些改写,微软也是蛮 拼

无知人生,记录点滴 6124

Windows 7系统下ASP.NET环境搭建指南

在本章节中,我们将概述在Windows 7操作系统上搭建ASP.NET开发环境的基本步骤和要求。ASP.NET,作为.NET框架中的一部分,允许开发者构建动态网站、Web应用程序和服务。为了在Win7上进行高效的ASP.NET开发,重要的是确保系统满足.NET框架和IIS(Internet Information Services)的最低要求。.NET Framework是微软开发的一个旨在简化各种应用程序(Windows客户端应用程序和ASP.NET Web应用程序)的开发与部署的软件框架。

weixin_42607969的博客 1177

自学MVC看这里——全网最全ASP.NET MVC 教程汇总

MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC。小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想要学习ASP.NET MVC技术的学习者提供一个整合学习入口。本文从Why,What,How三个角度整理MVC 的学习资源,让学习者第一时间找到最有价值的文章,获取最彻底的ASp.NET MVC 框架知识,Let’s go!   1. Why :为什么

kong1940742529的博客 5969

IIS7ASP.net V1.1的配置详解图文教程

IIS7ASP.net V1.1的配置详解(Vista版)近日电脑偶遭病毒袭击,开机一到登录界面蓝屏,安全模式启动失败,无奈只好重装系统.可怜我电脑上的五十多个软件,大部分重装,一部分竟被改造成绿色版,也好,省得注册表一备份就120M.因为一个站点必须配置1.1,Vista自带的2.0和3.0不能用,所以只能手动安装.在配置IIS时居然又遇到上次的问题,还遇到了和上次不一样的问题,无奈经过好

银河第一陋室 1万+

asp.net教程

十天学会ASP.Net转自:http://soft.pcdown.net/Article/Catalog5/183.html十天学会ASP.Net之第一天我认为ASP.NETASP难很多,希望大家做好准备。难难在实现同一个效果有很多方法,大家或许会疑惑。十天学会系列教程会清晰的写出各种方法,让大家能少一点坎坷。在ASP里面,大家几乎都是使用VB,数据库嘛,也无非是SQL和ACCE

688

C#ASPASP.NET.NETASP.NET CORE区别、ASP.NET Core其概念和特点、ASP.NET Core个人心得体会

ASP.NET Core是.NET平台上的新一代Web应用程序开发框架,它是ASP.NET的升级版本。与传统的ASP.NET相比,ASP.NET Core更加轻量级、高性能且跨平台。它采用了基于Razor的视图引擎和中间件管道模型,提供了更大的灵活性和可扩展性。

qq_62186948的博客 5988

ASP.NET MVC 安装使用教程

ASP.NET MVC开发入门指南:从安装到部署 摘要:本文系统介绍了ASP.NET MVC开发框架的基础知识和实践操作。主要内容包括:ASP.NET MVC框架概述、Razor视图引擎的使用、开发环境搭建(.NET SDK和Visual Studio安装)、项目创建与结构解析、控制器与视图的编写、模型绑定与表单处理等核心功能。同时提供了项目部署方法和常见问题解答,推荐了官方文档等学习资源。文章涵盖从零开始创建ASP.NET MVC应用到部署上线的完整流程,适合开发者快速入门ASP.NET MVC开发。

真正的大师永远怀着一颗学徒的心 1437
上一篇: ASP.NET立即上手教程 6
下一篇: VB.NET多线程开发实例
masterall
博客等级 码龄22年 17粉丝 557原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值