Mega Code Archive

 
Categories / ASP.Net / User Control And Master Page
 

Bindable user control (VB)

<%@ Page Language="VB" %> <%@ Register TagPrefix="Control" Namespace="Control" Assembly="Control" %> <script language="vb" runat="server"> Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)   listControl.DataSource = New String() {"Test 1", "Test 2", "Test 3"}   listControl.DataBind() End Sub </script> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <html>   <head>     <title>Creating a Databound Control</title>   </head>   <body>     <Control:CustomBulletedList id="listControl" runat="server" />   </body> </html> File: Control.vb Imports System Imports System.Web.UI Imports System.Web.UI.WebControls Imports System.ComponentModel Imports System.Collections Imports System.Text Namespace Control     Public Class CustomBulletedList         Inherits System.Web.UI.WebControls.WebControl         Private _html As New StringBuilder()         Private _dataSource As IEnumerable         Public Property DataSource() As IEnumerable             Get                 Return _dataSource             End Get             Set(ByVal value As IEnumerable)                 _dataSource = value             End Set         End Property         Private Sub CreateBulletedList()             Dim dataSource As IEnumerable = Nothing             Try                 dataSource = Me._dataSource             Catch             End Try             If Not (dataSource Is Nothing) Then                 _html.Append("<ul>")                 Dim dataObject As Object                 For Each dataObject In dataSource                     _html.Append("<li>")                     _html.Append(dataObject)                     _html.Append("</li>")                 Next dataObject                 _html.Append("</ul>")             End If         End Sub         Public Overrides Sub DataBind()             MyBase.OnDataBinding(EventArgs.Empty)             CreateBulletedList()         End Sub         Protected Overrides Sub Render(ByVal output As HtmlTextWriter)             output.Write(_html)         End Sub     End Class End Namespace