Mega Code Archive

 
Categories / ASP.Net Tutorial / Custom Controls
 

Your own data binding control

File: Article.cs using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace myControls {     public class Article : CompositeControl     {         private string _title;         private string _author;         private string _contents;         private ITemplate _itemTemplate;         public string Title         {             get { return _title; }             set { _title = value; }         }         public string Author         {             get { return _author; }             set { _author = value; }         }         public string Contents         {             get { return _contents; }             set { _contents = value; }         }         [TemplateContainer(typeof(Article))]         [PersistenceMode(PersistenceMode.InnerProperty)]         public ITemplate ItemTemplate         {             get { return _itemTemplate; }             set { _itemTemplate = value; }         }         protected override void CreateChildControls()         {             _itemTemplate.InstantiateIn(this);         }     } }              File: Default.aspx <%@ Page Language="C#" %> <%@ Register TagPrefix="custom" Namespace="myControls" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">     void Page_Load()     {         Article1.Title = "your title";         Article1.Author = "your name";         Article1.Contents = "Blah, blah, blah, blah...";         Article1.DataBind();     } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">     <title>Show Article</title> </head> <body>     <form id="form1" runat="server">     <div>     <custom:Article         id="Article1"         Runat="server">         <ItemTemplate>         <h1><%# Container.Title %></h1>         <em>By <%# Container.Author %></em>         <br /><br />         <%# Container.Contents %>         </ItemTemplate>     </custom:Article>     </div>     </form> </body> </html>