第四讲用户控件和自定义控件ppt课件_第1页
第四讲用户控件和自定义控件ppt课件_第2页
第四讲用户控件和自定义控件ppt课件_第3页
第四讲用户控件和自定义控件ppt课件_第4页
第四讲用户控件和自定义控件ppt课件_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用户控件和自定义控件用户控件和自定义控件西源软件培训中心西源软件培训中心回想uHTML效力控件和Web效力控件的区别uRequiredFieldvalidator 检查必填字段中能否含有值uCompareValidator 控件将在一个窗体字段中输入的值与一个固定的值或任何其他窗体字段中的值进展比较uRangeValidator 控件用于检查在字段中输入的值能否介于最大值与最小值之间uRegularExpressionValidator 控件用于检查字段值能否与给定的正那么表达式相符uCustomValidator 控件用来为窗体创建自定义验证规范uValidationSummary 控件概括

2、窗体中生成的一切错误uPage.IsValid 属性检查页面中的一切验证控件能否均已胜利进展验证目的u了解明确创建自定义控件的必要性u了解运用 ASP.NET 创建简单的控件u了解运用 C# 创建复合控件用户控件和自定义控件之间的差别 u用 .ascx 文件表示u不出如今工具箱中u支持缓存u提供有限的支持u用 .DLL 文件表示u出如今工具箱中u不支持缓存u提供全面支持用户控件自定义控件创建用户控件用户控件 用户控件ASP.NET页面页面用户控件不能独立存在和运用,它要求将 ASP.NET 页面作为容器创建用户控件u在 VS.NET 中创建用户控件: u创建一个 ASP.NET Web 运用程

3、序工程 UserControlDemo u挪动到“工程菜单,选择“添加 Web 用户控件,命名为Head.ascxu在Head.ascx上添加控件u新建一个Web窗体,命名为TestUserControl.aspx,在处理方案资源管理器里把Head.ascx控件拖放到TestUserControl.aspx页面的涉及视图里u编译并在阅读器里阅读TestUserControl.aspx创建用户控件u例如程序可以象普通的ASP.NET页面一样,在用户控件上放置Web控件 创建用户控件u例如程序在Web页中运用自定义控件,把自定义控件拖放到Web页面即可运用 C# 创建自定义控件u建立自定义控件步骤

4、u在 VS.NET 的“新建工程选项中,在模板列表中选择“Web 控件库模板选项,把工程命名为CustomerControls。Visual Studio .NET 将创建包含单一自定义控件的代码的工程 u添加一个新项,在模板里选择自定义控件,命名为UltraTextBox。移至“生成选项,单击“生成 Repeater.cs将 Repeater.cs 编译成 .dll 文件,以便可以用于 .aspx 页面中u在由设计器生成的代码模板 UltraTextBox.cs 中编写代码using System;using System.Web.UI;using System.Web.UI.WebCont

5、rols;using SystemponentModel;namespace CustomerControls DefaultProperty(Text), ToolboxData() public class UltraTextBox : System.Web.UI.WebControls.TextBox string _validString = ; Bindable(true), Category(Appearance), DefaultValue() public UltraTextBox() /关联加载控件时要执行的代码 this.Load += new EventHandler(

6、UltraTextBox_Load ); /被允许的字符组成的字符串属性 public string ValidString get return _validString; set _validString = value; /控件加载时要执行的代码 private void UltraTextBox_Load(object sender, EventArgs e) /设定文本框输入文本时要调用的Javascript函数 this.Attributes.Add( onkeypress, return CheckInput( + ValidString + ); ); /得到文本框所在的页面对

7、象 System.Web.UI.Page page = this.Page; /假设Javascript函数曾经被注册到页面,那么前往 if( page.IsStartupScriptRegistered( UltraTextBoxScript ) ) return; /注册Javascript函数 string scriptString = ; scriptString += n!- + n; scriptString += function CheckInput( validString ); scriptString += ; scriptString += for(var i = 0;

8、 i n; scriptString += n; page.RegisterStartupScript( UltraTextBoxScript, scriptString ); 把自定义控件添加到工具箱运用自定义控件u在 VS.NET 中创建用户控件: u新建一个Web工程,命名为TestCustomerControl,用来测试UltraTextBox控件u在TestCustomerControl工程添加一个页面,命名为TestUltraText.aspxu添加控件u代码如下:运用自定义控件u程序运转只能输入数字只能输入字母WebForm1!-function CheckInput( vali

9、dString )for(var i = 0; i 阅读器产生的Javascript复合控件复合控件复合控件Composite.csusing System;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace CompositeControl public class Composite : Control , INamingContainer public int Val get this.EnsureChildControls(); return Int32.Parse (TextBo

10、x) Controls1). Text); 假设在一个页面上放置多个控件实例,就需求这样做 该属性设置和前往在复合控件的文本框中包含的值 set this.EnsureChildControls(); (TextBox)Controls1).Text = value.ToString(); protected override void CreateChildControls() this.Controls.Add(new LiteralControl(“值:); TextBox box = new TextBox(); box.Text = 0; this.Controls.Add(box)

11、; this.Controls.Add(new LiteralControl(); 复合控件 与前面已创建的任何其他自定义控件一样,在 aspx 页面上可以运用这个控件应写入 Codebehind 文件中的代码 输出结果 private void btnIncrement_Click(Object sender, EventArgs e) Composite1.Val = Composite1.Val + 1; private void btnDecrement_Click(Object sender, EventArgs e) Composite1.Val = Composite1.Val - 1; 总结u运用用户控件和自定义控件可以实现界面的重用u用户控件的扩展名是 .ascx,该控件可在一个运用程序中运用,但不能跨运用程序u自定义控件被编译成 .dll 文件,可以放置在工具

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论