首页 / ASP.NET / asp.net模板控件示例
asp.net模板控件示例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了asp.net模板控件示例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2529字,纯文字阅读大概需要4分钟。
内容图文
![asp.net模板控件示例](/upload/InfoBanner/zyjiaocheng/1168/3916c055fffb45bd8222dc401f639327.jpg)
模板控件允许将控件数据与其表示形式相分离,模板化控件不提供用户界面。
编写它则是为了实现一个命名容器以及包含属性和方法可由宿主页访问的类,MSDN是这样解释的。
下面是一个简单的示例:
1:建立一个自定义模板控件 MyTemplateControl.ascx
2:为建立的模板控件定义一个ITemplate类型的属性
3:为 ITemplate 定义一个NamingContainer类
4:应用TemplateContainer至ITemplate类型的属性上 。
5:初始化模板数据,把 模板加至模板容器中。
6:测试模板控件,绑定数据。
示例代码:
MyTemplateControl.ascx
/>Code highlighting produced by Actipro CodeHighlighter (freeware)
/>http://www.CodeHighlighter.com/
/>
/>--><%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MyTemplateControl.ascx.cs" Inherits="FrameworkWebStudy.MyTemplateControl" %>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
只定义了一个容器。用于包含模板控件数据。
/>Code highlighting produced by Actipro CodeHighlighter (freeware)
/>http://www.CodeHighlighter.com/
/>
/>-->private ITemplate template = null;
[TemplateContainer(typeof(ContentContainer))]
[PersistenceMode(PersistenceMode.InnerProperty)]
public ITemplate ContentTemplate
{
get { return template; }
set { template = value; }
}
模板容器,必须实现INamingContainer接口,这仅只是一个标记接口,
任何实现该接口的控件都创建一个新的命名空间,在这个新的命名空间中,
所有子控件 ID 在应用程序内是唯一的。
/>Code highlighting produced by Actipro CodeHighlighter (freeware)
/>http://www.CodeHighlighter.com/
/>
/>-->public class ContentContainer : Control, INamingContainer
{
private string m_content;
public ContentContainer(string content)
{
m_content = content;
}
public string Content
{
get { return m_content; }
}
}
初始化一些测试数据,添加至控件的Page_Init方法中
/>Code highlighting produced by Actipro CodeHighlighter (freeware)
/>http://www.CodeHighlighter.com/
/>
/>-->void Page_Init()
{
if (template != null)
{
string[] content = { "henry", "yunyun", "onlyone", "onely" };
for (int i = 0; i < content.GetUpperBound(0); i++)
{
ContentContainer container = new ContentContainer(content[i]);
template.InstantiateIn(container);
PlaceHolder1.Controls.Add(container);
}
}
}
应用示例:
/>Code highlighting produced by Actipro CodeHighlighter (freeware)
/>http://www.CodeHighlighter.com/
/>
/>--><form id="form1" runat="server">
<div>
<uc1:MyTemplateControl ID="MyTemplateControl1" runat="server">
<ContentTemplate>
Content:<asp:Label ID="lblContent" runat="server" Text=‘<%# Container.Content %>‘></asp:Label>
</ContentTemplate>
</uc1:MyTemplateControl>
</div>
</form>
绑定数据:
Page.DataBind();
运行结果:
原文:http://www.cnblogs.com/lonelyxmas/p/3597021.html
内容总结
以上是互联网集市为您收集整理的asp.net模板控件示例全部内容,希望文章能够帮你解决asp.net模板控件示例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。