用户控件和自定义控件.pptx

上传人:修**** 文档编号:87048079 上传时间:2023-04-15 格式:PPTX 页数:15 大小:476.48KB
返回 下载 相关 举报
用户控件和自定义控件.pptx_第1页
第1页 / 共15页
用户控件和自定义控件.pptx_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《用户控件和自定义控件.pptx》由会员分享,可在线阅读,更多相关《用户控件和自定义控件.pptx(15页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、ACCP V4.0第九章第九章用户控件和自定义控件ACCP V4.0回顾q在.NET 中,Web 窗体 DataGrid 控件派生自类System.Web.UI.WebControls.DataGridq使用 DataSource 和 DataMember 属性可将 DataGrid 绑定到数据源qTemplateColumn 允许指定在列中出现的控件TemplateColumn 的页眉、页脚、项目和编辑项目等 4 项定义了模板列的内容和外观q可使用 Select、Edit、Update、Cancel 和 Delete 等 ButtonColumns 来选择、更新和删除 DataGrid 中的

2、记录q对 DataGrid 进行分页使用户能按页显示指定数量的记录qDataGrid 的“属性生成器”对话框定义了用于自定义 DataGrid 的页眉、页脚、列、分页及各种其他设置2ACCP V4.0目标q明确创建自定义控件的必要性q使用 ASP.NET 创建简单的控件q使用 C#创建复合控件3ACCP V4.0用户控件和自定义控件之间的差别 q用.ascx 文件表示q不出现在工具箱中q支持缓存q提供有限的支持q用.DLL 文件表示q出现在工具箱中q不支持缓存q提供全面支持用户控件自定义控件.ascx文件.DLL 文件4ACCP V4.0创建用户控件 4-1用户控件 用户控件ASP.NET页面

3、页面用户控件不能独立存在和使用,它要求将 ASP.NET 页面作为容器5ACCP V4.0创建用户控件 4-2q在 VS.NET 中创建用户控件:q创建一个 ASP.NET Web 应用程序项目 UserControlDemo q移动到“项目”菜单,选择“添加 Web 用户控件”,命名为Head.ascxq在Head.ascx上添加控件q新建一个Web窗体,命名为TestUserControl.aspx,在解决方案资源管理器里把Head.ascx控件拖放到TestUserControl.aspx页面的涉及视图里q编译并在浏览器里浏览TestUserControl.aspx6ACCP V4.0创

4、建用户控件 4-3可以象普通的ASP.NET页面一样,在用户控件上放置Web控件 关于我们 最新动态 ACCP BENET BTEST 7ACCP V4.0创建用户控件 4-4在Web页中使用自定义控件,把自定义控件拖放到Web页面即可 WebForm1 测试用户控件 运行结果8ACCP V4.0使用 C#创建自定义控件q建立自定义控件步骤q在 VS.NET 的“新建项目”选项中,在模板列表中选择“Web 控件库”模板选项,把项目命名为CustomerControls。Visual Studio.NET 将创建包含单一自定义控件的代码的项目 q添加一个新项,在模板里选择自定义控件,命名为Ult

5、raTextBox。移至“生成”选项,单击“生成 Repeater.cs”将 Repeater.cs 编译成.dll 文件,以便可以用于.aspx 页面中q在由设计器生成的代码模板 UltraTextBox.cs 中编写代码using System;using System.Web.UI;using System.Web.UI.WebControls;using System.ComponentModel;namespace CustomerControls DefaultProperty(Text),ToolboxData()public class UltraTextBox:System.

6、Web.UI.WebControls.TextBox string _validString=;Bindable(true),Category(Appearance),DefaultValue()public UltraTextBox()/关联加载控件时要执行的代码 this.Load+=new EventHandler(UltraTextBox_Load);/被允许的字符组成的字符串属性 public string ValidString get return _validString;set _validString=value;/控件加载时要执行的代码 private void Ultr

7、aTextBox_Load(object sender,EventArgs e)/设定文本框输入文本时要调用的Javascript函数 this.Attributes.Add(onkeypress,return CheckInput(+ValidString+););/得到文本框所在的页面对象 System.Web.UI.Page page=this.Page;/如果Javascript函数已经被注册到页面,则返回 if(page.IsStartupScriptRegistered(UltraTextBoxScript)return;/注册Javascript函数 string scriptS

8、tring=;scriptString+=n!-+n;scriptString+=function CheckInput(validString);scriptString+=;scriptString+=for(var i=0;i n;scriptString+=n;page.RegisterStartupScript(UltraTextBoxScript,scriptString);9ACCP V4.0把自定义控件添加到工具箱10ACCP V4.0使用自定义控件-1续续q在 VS.NET 中创建用户控件:q新建一个Web工程,命名为TestCustomerControl,用来测试Ultra

9、TextBox控件q在TestCustomerControl工程添加一个页面,命名为TestUltraText.aspxq添加控件 WebForm1 11ACCP V4.0使用自定义控件-2q程序运行只能输入数字只能输入字母WebForm1!-function CheckInput(validString)for(var i=0;i 浏览器产生的Javascript12ACCP V4.0复合控件 2-1复合控件13ACCP V4.0复合控件 2-2Composite.csusing System;using System.Web;using System.Web.UI;using System

10、.Web.UI.WebControls;namespace CompositeControl public class Composite:Control,INamingContainer public int Val get this.EnsureChildControls();return Int32.Parse(TextBox)Controls1).Text);如果在一个页面上放置多个控件实例,就需要这样做 该属性设置和返回在复合控件的文本框中包含的值 set this.EnsureChildControls();(TextBox)Controls1).Text=value.ToStri

11、ng();protected override void CreateChildControls()this.Controls.Add(new LiteralControl(“值:);TextBox box=new TextBox();box.Text=0;this.Controls.Add(box);this.Controls.Add(new LiteralControl();复合控件 与前面已创建的任何其他自定义控件一样,在 aspx 页面上可以使用这个控件应写入 Codebehind 文件中的代码 输出结果 private void btnIncrement_Click(Object s

12、ender,EventArgs e)Composite1.Val=Composite1.Val+1;private void btnDecrement_Click(Object sender,EventArgs e)Composite1.Val=Composite1.Val-1;14ACCP V4.0总结q使用用户控件和自定义控件可以实现界面的重用q用户控件的扩展名是.ascx,该控件可在一个应用程序中使用,但不能跨应用程序q自定义控件被编译成.dll 文件,可以放置在工具箱里,它可以是继承于已有的Web控件,也可以是完全自定义。自定义控件可以跨应用程序域q复合自定义控件将一个或多个服务器或 HTML 控件组合在一个 Control 类中,该类可与其他控件类一起编译,以创建一个程序集15

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 企业管理

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com