Web用户自定义控件
在新建项的时候,选择Web用户控件,可用来自定义自己的控件,做好后,直接拖到页面即可使用
自定义控件与WEB交互,需要在 自定义控件里面 写 属性,如:
public string CityID
{
get { return this.DropDownList1.SelectedValue; } set{ this.DropDownList1.SelectedValue = value;}
}
在外面调用的时候如下即可:
Label1.Text = this.City1.CityID;
自定义样式(公开属性)
public ConsoleColor Color { get; set; }
public string Title { get; set; }
定义 样式属性
<h1><%=this.Title %></h1>
<div style='background-color:<%=this.Color%>'>
组装的一些控件
</div>
样式调用
this.City1.Title = "标题";
this.City1.Color = ConsoleColor.Blue;
由于控件是 封装过的,所以当用户控件激发事件时,最外层是得不到数据的,解决办法有3种:
注:用户控件需设置 AutoPostBack="True"
-------- 1.利用系统的 EventHandler 委托
<1>.在用户控件后台文件内新建一个属性
public string CityID
{
get { return DropDownList1.SelectedValue; }
set { DropDownList1.SelectedValue = value; }
}
<2>.新建一个 event 事件
public event EventHandler CitySelected = null;
<3>.当用户控件中的SelectedIndexChanged事件触发时,激活 CitySelected 事件
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.CitySelected != null)
{
this.CitySelected(this, null);
}
}
<4>.在页面的后台 新建一个方法,用来处理用户控件返回的信息
public void showCity(object sender, EventArgs e)
{
this.Label1.Text = this.City1.CityID;
}
<5>.在页面的用户控件中 注册事件
<uc1:City ID="City1" runat="server" OnCitySelected="showCity" />
<1>.自定义一个委托
public delegate void CitySelectedEventHander(string CityID);
<2>.自定义一个事件
public event CitySelectedEventHander CitySeleted = null;
<3>.当用户控件触发时,激活自定义事件
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (CitySeleted != null)
{
string CityID = this.DropDownList1.SelectedValue;
this.CitySeleted(CityID);
}
}
<4>.在页面后台新建一个方法,用于处理用户控件的事件
public void ShowCity(string id)
{
this.Label1.Text = id;
}
<5>.在页面的用户控件中 注册事件
<uc1:City2 ID="City21" runat="server" onCitySeleted="ShowCity" />
<1>.定义一个类,继承EventArgs类,主要用于封装属性,以便日后扩展
public class CityEventArgs:EventArgs
{
public string CityID { get; set; }
}
<2>.定义一个 泛型事件,用自定义的类做 参数
public event EventHandler<CityEventArgs> CitySeleted = null;
<3>.在页面后台新建一个方法,用于处理用户控件的事件
public void ShowCity(object sender,CityEventArgs e)
{
this.Label2.Text = e.CityID;
}
<4>.在页面的用户控件中 注册事件
<uc1:City3 ID="City31" runat="server" OnCitySeleted="ShowCity" />
注:注册事件也可用如下方法:
protected void Page_Load(object sender, EventArgs e)
{
this.City31.CitySeleted += new EventHandler<CityEventArgs>(City31_CitySeleted);
} void City31_CitySeleted(object sender, CityEventArgs e)
{
this.Label2.Text = e.CityID;
}
在上面的基础上,增加如下内容:
Control c = this.LoadControl("City3.ascx");
City3 uc = c as City3;
uc.CityID = "SH";
this.PlaceHolder1.Controls.Add(uc);
注:PlaceHolder1是容器,当前页面需要在头部注册信息
<%@ Register src="~/UC/City3.ascx" tagname="City3" tagprefix="uc1" %>
Web用户自定义控件的更多相关文章
- mvc 母版页、用户自定义控件
母版页(Master) 1.母版页是与Controller无关的,母版页只是一个View文件,而没有任何Controller与之相对应. 2.其实在ASP.NET MVC中View的aspx与母版页并 ...
- C#用户自定义控件(含源代码)-透明文本框
using System; using System.Collections; using System.ComponentModel; using System.Drawing; using Sys ...
- WEB用户访问控制方法
分享到 一键分享 QQ空间 新浪微博 百度云收藏 人人网 腾讯微博 百度相册 开心网 腾讯朋友 百度贴吧 豆瓣网 搜狐微博 百度新首页 QQ好友 和讯微博 更多... 百度分享 一直以来,我对用户/权 ...
- LWP::UserAgent - Web user agent class Web 用户agent 类:
LWPUserAgent: LWP::UserAgent - Web user agent class Web 用户agent 类: 概述: require LWP::UserAgent; my $u ...
- 转 Web用户的身份验证及WebApi权限验证流程的设计和实现
前言:Web 用户的身份验证,及页面操作权限验证是B/S系统的基础功能,一个功能复杂的业务应用系统,通过角色授权来控制用户访问,本文通过Form认证,Mvc的Controller基类及Action的权 ...
- WPF中添加Winform用户自定义控件
过程:创建WPF工程->创建Winform用户自定义控件工程->WPF中引用控件->添加到Xaml页面 1.首先在WPF工程的解决方案上右击选择添加新建项目: 选择Windows窗体 ...
- [置顶] Web用户的身份验证及WebApi权限验证流程的设计和实现 (不是Token驗證!!!不是Token驗證!!!都是基於用户身份的票据信息驗證!!!)
转发 http://blog.csdn.net/besley/article/details/8516894 不是Token驗證!!!不是Token驗證!!!都是基於用户身份的票据信息驗證!!! [ ...
- Web用户的身份验证及WebApi权限验证流程的设计和实现 asp.net mvc AllowAnonymous 不起作用, asp.net mvc 匿名访问
原文地址: https://blog.csdn.net/zjlovety/article/details/17095627 前言:Web 用户的身份验证,及页面操作权限验证是B/S系统的基础功能,一个 ...
- H3C 交换机设置telnet WEB用户
huwei : local-user admin password cipher @#$@#$ service-type telnet ssh service-type telnet ssh leve ...
随机推荐
- [网络]让局域网的电脑通过路由的公网ip可以被访问到的设置
http://公网IP:服务端口/访问路径(http://110.16.166.135:8081/pra/unionpay/v_asyn_notify.jspx这个地址就会通过公网ip来访问到你的ip ...
- 【腾讯Bugly干货分享】手游热更新方案xLua开源:Unity3D下Lua编程解决方案
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/2bY7A6ihK9IMcA0bOFyB-Q 导语 xL ...
- Effective Java:Ch4_Class:Item13_最小化类及其成员的可访问性
要区别一个模块是否设计良好,最重要的因素是,对于其他模块而言该模块隐藏其内部数据和其他实现细节的程度.设计良好的模块应该隐藏所有实现细节,将API与其实现清晰地隔离开来.这样,模块之间通过他们的API ...
- 六款值得推荐的android(安卓)开源框架简介【转】
http://my.oschina.net/u/1244156/blog/380647 1.volley 项目地址 https://github.com/smanikandan14/Volley-de ...
- UDID
大多数应用都会用到苹果设备的UDID号,UDID通常有以下两种用途: 1)用于一些统计与分析目的:[第三方统计工具如友盟,广告商如ADMOB等] 2)将UDID作为用户ID来唯一识别用户,省去用户名, ...
- 判断app是否在后台
1.通过RunningTaskInfo类判断(需要额外权限):(测试通过5.1可用,权限名称修改 <uses-permission android:name="android.perm ...
- oracle学习----去除表中的重复数据
重复的数据可能有这样两种情况,第一种:表中只有某些字段一样,第二种:两行记录完全一样.第一.对于部分字段重复数据的删除 先来谈谈如何查询重复的数据吧. 下面语句可以查询出那 ...
- ASP.NET 开发人员应该知道的8个网站
1.CodeProject http://www.codeproject.com/ 2.DotNetNuke 3.4GuysFromRolla 4.DevSource 5.DevX http://ww ...
- WebService 实现BS环境与BS环境传递参数,根据参数生成txt文档
客户端: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Client.as ...
- tcl/tk实例详解——返回一个文件夹下所有文件的绝对路径
http://blog.csdn.net/dulixin/article/details/2133840 #所有代码如下,使用注释的方式讲解脚本#修改好文件夹和保存结果路径,可以把本文件直接拷贝进tc ...