带有子项的ASP.NET自定义/用户控件
发布时间:2020-12-16 00:04:08 所属栏目:asp.Net 来源:网络整理
导读:我想创建一个具有子项的自定义/用户控件. 例如,我希望我的控件具有以下标记: div runat="server" id="div" label runat="server" id="label"/label div class="field" !-- INSERT CHILDREN HERE -- /div/div 当我想在页面上使用它时,我只需: ctr:MyUserCon
我想创建一个具有子项的自定义/用户控件.
例如,我希望我的控件具有以下标记: <div runat="server" id="div"> <label runat="server" id="label"></label> <div class="field"> <!-- INSERT CHILDREN HERE --> </div> </div> 当我想在页面上使用它时,我只需: <ctr:MyUserControl runat="server" ID="myControl"> <span>This is a child</span> <div runat="server" id="myChild">And another <b>child</b> </ctr:MyUserControl> 我的用户控件中的子控件将被插入到我的用户控件中.完成此任务的最佳方法是什么? 该功能类似于asp:PlaceHolder,但我想添加更多选项以及其他标记等.此外,子控件仍然需要能够被页面访问. (在上面的例子中,页面上应该有myChild控件) 编辑—— 它可以是模板控件,只要它允许我引用页面上的子项. 解决方法
我刚才问了类似的问题.见
here.
我相信你必须使用ITemplate作为InnerProperty: [PersistenceMode(PersistenceMode.InnerProperty)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] [TemplateInstance(TemplateInstance.Single)] public ITemplate Content { get { return _content; } set { _content = value; } } private ITemplate _content; 然后覆盖控件的CreateChildControls方法: protected override void CreateChildControls() { if (this.Content != null) { this.Controls.Clear(); this.Content.InstantiateIn(this); } base.CreateChildControls(); } 使用ITemplate有什么危害您可以将它与现有标记结合使用,并在Content属性中编写您想要的任何HTML. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC不提供默认文档
- asp.net – 客户端IP地址
- asp.net – IIS 7.5不加载静态html页面
- asp.net-mvc-3 – 如何在自定义编辑器模板中获取模型的字段
- asp.net – app_offline文件中的图片
- asp.net – 使用WebHandler的HTTPHandler和IsReusable
- asp.net-mvc – 有没有合理的大型Web应用程序(例如1M页面浏
- 存储过程 – ASP Classic – Recordset对象与命令对象
- asp.net-mvc – EntityFramework.SqlServer未在Web发布中部
- asp.net – 生产网络服务器上的间歇性高CPU(100%)
推荐文章
站长推荐
- 使用离线功能构建ASP.Net Web应用程序
- ASP.NET MVC2与实体框架4 – AsEnumerable()或To
- asp.net – 将更改部署到global.asax
- asp.net – 为什么在VS2008 / Casini中开始调试时
- asp.net-mvc-3 – 使用ViewBag的Html.DropDownLi
- 将WebApiTestClient添加到ASP.NET Web API帮助页
- 使用ASP.NET 5禁用客户端验证
- asp.net – 将任何UI连接到我的应用程序
- 当InternalsVisibleToAttribute特性遭遇"强签
- asp.net-core – Asp.Net核心(Full .Net框架)与A
热点阅读