ASP.net 企业级应用开发_第1页
ASP.net 企业级应用开发_第2页
ASP.net 企业级应用开发_第3页
ASP.net 企业级应用开发_第4页
ASP.net 企业级应用开发_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

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

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

3、户控件 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.aspx8创建用户控件 4-3可以象普通的ASP.NET页面一样,在用户控件上放置Web控件 关于我们 最新动态 ACCP

4、BENET BTEST 9创建用户控件 4-4在Web页中使用自定义控件,把自定义控件拖放到Web页面即可 WebForm1 测试用户控件 运行结果10使用 C# 创建自定义控件q建立自定义控件步骤q在 VS.NET 的“新建项目”选项中,在模板列表中选择“Web 控件库”模板选项,把项目命名为CustomerControls。Visual Studio .NET 将创建包含单一自定义控件的代码的项目 q添加一个新项,在模板里选择自定义控件,命名为UltraTextBox。移至“生成”选项,单击“生成 Repeater.cs”将 Repeater.cs 编译成 .dll 文件,以便可以用于 .

5、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.Web.UI.WebControls.TextBox string _validString = ; Bindable(true)

6、, Category(Appearance), DefaultValue() public UltraTextBox() /关联加载控件时要执行的代码 this.Load += new EventHandler( UltraTextBox_Load ); /被允许的字符组成的字符串属性 public string ValidString get return _validString; set _validString = value; /控件加载时要执行的代码 private void UltraTextBox_Load(object sender, EventArgs e) /设定文本框输

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

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

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

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

11、oid 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 sender, EventArgs e) Composite1.Val = Composite1.Val + 1; private void btnDecrement_Click(Object sender, EventArgs e) Composite1.Val = Composite1.Val - 1; 16总结q 使用用户控件和自定义控件可以实

温馨提示

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

评论

0/150

提交评论