①新建一个WebUserControl1.ascx用户控件,为了简单,我们就直接在该控件中放一个DropDownList控件。如果我们不为WebUserControl1.ascx控件添加任何属性,在该控件外是不能够为DropDownList控件添加下拉项的。
②现在我们为WebUserControl1.ascx控件添加一个Items属性,它直接映射DropDownList的Items属性,属性如下:
代码如下 | 复制代码 |
public ListItemCollection Items { get { return this.DropDownList1.Items; } } |
这样,我们在调用该用户控件的aspx页的cs文件中,就可以通过编程的方式为DropDownList控件添加下拉项了,如下:
代码如下 | 复制代码 |
protected void Page_Load(object sender, EventArgs e) { this.WebUserControl11.Items.Add(new ListItem("中国银行", "0")); } |
但这时我还无法在aspx直接为DropDownList控件添加下拉项的。
③现在我们为用户控件的Items属性添加一个属性,如下代码:
代码如下 | 复制代码 |
[PersistenceMode(PersistenceMode.InnerDefaultProperty)] public ListItemCollection Items { get { return this.DropDownList1.Items; } } |
讲解一下上面代码的意思:
PersistenceMode:定义元数据属性 (Attribute),用于指定如何在设计时将 ASP.NET 服务器控件属性 (Property) 或事件保存到 ASP.NET页
PersistenceMode.InnerDefaultProperty:指定属性在 ASP.NET 服务器控件中保持为内部文本。还指示将该属性定义为元素的默认属性。只能指定一个属性为默认属性
④仅仅设置了这个属性,还是不够的,我们还需要为用户控件类添加一个属性:
代码如下 | 复制代码 |
[ParseChildren(true, "Items")] public partial class WebUserControl1 : System.Web.UI.UserControl { } |
ParseChildren:定义可在开发 ASP.NET 服务器控件时使用的元数据属性。使用 System.Web.UI.ParseChildrenAttribute 类指示页分析器应如何处理页上声明的服务器控件标记中嵌套的内容。
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级