在网页案例应用中使用委托来显示用户控件的值
Asp.net的开发要求是UserControl是一个集成的功能,需要对数据进行处理,然后存储在数据库中,显示在网页上,这样用户就可以检测到处理后的数据。在这次演示中,Insus.NET只是举了一个简单的例子,并应用委托来实现。为了大家更好的理解,我们可以先看一下操作动画演示:。
在你新建一站点上,创建一个PageB.aspx网页以及UcB.ascx用户控件,在UcB.ascx上拉一个文本框和检验盒以及纽扣控件:复制代码代码如下: UcB.ascx %@控制语言=' c# ' AutoEventWireup=' true ' CodeFile=' UCb。ascx。cs ' Inherits=' UCb ' % field set LegendUser控制字段/图例catalog : ASP : textbox ID=' textbox 1 ' runat=' server '/ASP : textbox br/enabled : ASP : checkbox ID=' checkbox 1 ' runat=' server '/br/ASP 33366 onclick=' button 1 _ Click '/字段集在UcB.ascx.cs代码页中,写一个委托属性,将用来存储所有用户控件中处理的数据。复制代码代码如下:查看代码私有委托in usdata { set {中的InusDatappublic Delegate { _ Inusdata=value;} } 然后在纽扣的点击事件中,把数据存入刚才写好的属性:复制代码代码如下:查看代码保护的void Button1_Click(对象发送者,EventArgs e){ 0对象[]数据=新对象[2];数据[0]=这个文本框1。文字。trim();数据[1]=这个。复选框1 .选中;_ InsusData .DynamicInvoke(数据);} 完整的UcB.ascx.cs代码:复制代码代码如下:使用系统查看代码;使用系统。集合。通用;使用系统Linq .使用系统网络.使用系统网络。用户界面使用系统。网络控件;公共部分类UcB :系统网络。ui。用户控件{ private Delegate _ InsusDatausdata { set { _ Inusdata=value }中的public Delegate} }受保护的无效页面_加载(对象发送方,EventArgs e) { }受保护的void Button1_Click(对象发送方,EventArgs e){ 0对象[]数据=新对象[2];数据[0]=这个文本框1。文字。trim();数据[1]=这个。复选框1 .选中;_ InsusData .DynamicInvoke(数据);} } 到这里,我需要把用户控件单元控制部件(单元控制块)拉到网页页面b中,并放置好相应的控件来显示数据:复制代码代码如下: Page b . aspx % @ Page Language=' c# ' AutoEventWireup=' true ' CodeFile=' Page b . aspx。cs“Inherits=”Page b“% @ Register Src=”UCb。ascx '标记名=' UCb '标记前缀='uc1' %!DOCTYPE html html xmlns=' http://www .w3。org/1999/XHTML ' head runat=' server ' title/title/head body表单ID=' form 1 ' runat=' server ' UC 1: UCB ID=' UCB 1 ' runat=' server '/br/字段集legend page Content/图例Show User Control data : br/catalog : ASP :标签ID=' label 1 ' runat=' server '在PageB.aspx.cs代码内,宣告一个委托方法,并带两个参数:复制代码代码如下:私有委托void GetUserControlData(字符串目录,bool isEnable);再写一个与刚才写好委托方法(相同的参数)的方法,用参数为页面的控件显示数据:复制代码代码如下: void ShowDataToPage(字符串目录,bool isEnable) { this .标签1 .文本=目录;这个。复选框1 .选中=可执行;} 最后是在PageB.aspx.cs内的页面加载事件中,去实现获取用户控件的数据:复制代码代码如下:受保护的无效页面_加载(对象发送方,事件参数e){ GetUserControlData obj=new GetUserControlData(ShowDataToPage);这个UcB1。InsusData=obj}好的,完整的PageB.aspx.cs代码:复制代码代码如下:页B.aspx.cs使用系统;使用系统。集合。通用;使用系统Linq .使用系统网络.使用系统网络。用户界面使用系统。网络控件;公共部分类页面B :系统网络。ui。第{ private delegate void GetUserControlData(字符串目录,bool isEnable);受保护的无效页面_加载(对象发送方,事件参数e){ GetUserControlData obj=new GetUserControlData(ShowDataToPage);这个UcB1。InsusData=obj } void ShowDataToPage(字符串目录,bool isEnable) { this .标签1 .文本=目录;这个。复选框1 .选中=可执行;} }
版权声明:在网页案例应用中使用委托来显示用户控件的值是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。