利用委托把用户控件的值显示于网页案例应用
2013-02-07 00:00
489 查看
Asp.net开发要求,就是用户控件(UserControl)是集成一个功能,需要处理好的数据,然后存数据库中并显示于网页上,让用户能检测到处理的数据情况。
本演示中,Insus.NET只是作了一个简单的举例而已,并应用了委托来实现。为了让大家更能理解,可以先看看操作动画演示:
在你新建一站点上,创建一个PageB.aspx网页以及UcB.ascx用户控件,在UcB.ascx上拉一个TextBox和CheckBox以及Button控件:
在UcB.ascx.cs代码页中,写一个委托属性,将用来存储所有用户控件中处理的数据。
然后在Button的OnClick事件中,把数据存入刚才写好的属性:
完整的UcB.ascx.cs代码:
到这里,我需要把用户控件UcB拉到网页PageB中,并放置好相应的控件来显示数据:
在PageB.aspx.cs代码内,宣告一个委托方法,并带两个参数:
再写一个与刚才写好委托方法(相同的参数)的方法,用参数为页面的控件显示数据:
最后是在PageB.aspx.cs内的Page_Load事件中,去实现获取用户控件的数据:
OK,完整的PageB.aspx.cs代码:
本演示中,Insus.NET只是作了一个简单的举例而已,并应用了委托来实现。为了让大家更能理解,可以先看看操作动画演示:
在你新建一站点上,创建一个PageB.aspx网页以及UcB.ascx用户控件,在UcB.ascx上拉一个TextBox和CheckBox以及Button控件:
UcB.ascx <%@ Control Language="C#" AutoEventWireup="true" CodeFile="UcB.ascx.cs" Inherits="UcB" %> <fieldset> <legend>User control field</legend> Catalog: <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /> Enabled: <asp:CheckBox ID="CheckBox1" runat="server" /><br /> <asp:Button ID="Button1" runat="server" Text="Process..." OnClick="Button1_Click" /> </fieldset>
在UcB.ascx.cs代码页中,写一个委托属性,将用来存储所有用户控件中处理的数据。
View Code private Delegate _InsusData; public Delegate InsusData { set { _InsusData = value; } }
然后在Button的OnClick事件中,把数据存入刚才写好的属性:
View Code protected void Button1_Click(object sender, EventArgs e) { object[] data = new object[2]; data[0] = this.TextBox1.Text.Trim (); data[1] = this.CheckBox1.Checked; _InsusData.DynamicInvoke(data); }
完整的UcB.ascx.cs代码:
View Code using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class UcB : System.Web.UI.UserControl { private Delegate _InsusData; public Delegate InsusData { set { _InsusData = value; } } protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { object[] data = new object[2]; data[0] = this.TextBox1.Text.Trim (); data[1] = this.CheckBox1.Checked; _InsusData.DynamicInvoke(data); } }
到这里,我需要把用户控件UcB拉到网页PageB中,并放置好相应的控件来显示数据:
PageB.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageB.aspx.cs" Inherits="PageB" %> <%@ Register Src="UcB.ascx" TagName="UcB" TagPrefix="uc1" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <uc1:UcB ID="UcB1" runat="server" /> <br /> <fieldset> <legend>Page Content </legend> Show User Control Data:<br /> Catalog: <asp:Label ID="Label1" runat="server" Text=""></asp:Label> <br /> Enabled: <asp:CheckBox ID="CheckBox1" runat="server" Enabled="false" /><br /> </fieldset> </form> </body> </html>
在PageB.aspx.cs代码内,宣告一个委托方法,并带两个参数:
private delegate void GetUserControlData(string catalog, bool isEnable);
再写一个与刚才写好委托方法(相同的参数)的方法,用参数为页面的控件显示数据:
void ShowDataToPage(string catalog, bool isEnable) { this.Label1.Text = catalog; this.CheckBox1.Checked = isEnable; }
最后是在PageB.aspx.cs内的Page_Load事件中,去实现获取用户控件的数据:
protected void Page_Load(object sender, EventArgs e) { GetUserControlData obj = new GetUserControlData(ShowDataToPage); this.UcB1.InsusData = obj; }
OK,完整的PageB.aspx.cs代码:
PageB.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class PageB : System.Web.UI.Page
{private delegate void GetUserControlData(string catalog, bool isEnable);protected void Page_Load(object sender, EventArgs e)
{
GetUserControlData obj = new GetUserControlData(ShowDataToPage);
this.UcB1.InsusData = obj;
}void ShowDataToPage(string catalog, bool isEnable) { this.Label1.Text = catalog; this.CheckBox1.Checked = isEnable; }}
相关文章推荐
- 利用委托把用户控件的值显示于网页
- 动态加载用户控件应用案例
- 我看WINFORM 上显示 网络内容(利用web控件的方式是为了内容在网页上显示和winform管理端显示的统一。)
- 有效利用ASP.NET用户控件的事件委托
- 在网页上显示用户控件上学选择的内容(例子省市选择器) .
- 利用事件委托实现用户控件中的行为触发所在页面的处理函数
- asp使用jquery延迟加载用户控件加速网页显示速度
- delegate委托事件与用户控件的应用
- 站点某些网页想显示母版页内的用户控件,某些网页不想显示,怎样实现
- asp使用jquery延迟加载用户控件加速网页显示速度
- qt利用委托:QStyledItemDelegate,实现tableview 的表格项的自定义显示,如插入图片,绘制控件
- 利用委托给用户控件添加事件(转)
- 有效利用ASP.NET用户控件的事件委托
- 在网页上显示用户控件上学选择的内容(例子省市选择器)
- 如何:使用 Windows 窗体 TextBox 控件创建密码文本框 .NET Framework 2.0 其他版本 密码框是一种 Windows 窗体文本框,它在用户键入字符串时显示占位符。 创
- 微信小程序示WebSocket长连接应用场景例利用腾讯云仅限开发案例二
- ASP.NET基础教程-利用(OfficeWeb控件)在网页上输出柱状图
- delphi强制WebBrowser控件使用指定版本显示网页
- 以用户控件进行asp.net网页的部分缓存