代码:Imports System
Imports System.Web
Imports System.Web.ui
Imports System.Web.UI.webcontrols
Imports System.Collections.Specialized
Imports System.CollectionsPublic Class RepeaterItem
Inherits Control
Implements INamingContainer
Private itemIndex As Int32
Private dataItem As Object
Public Sub New(ByVal Index As Int32, ByVal data As Object)
Me.itemIndex = Index
Me.dataItem = data
End Sub Public ReadOnly Property text1() As Object
Get Return Dataitem
End Get End Property
Public ReadOnly Property text2() As Int32
Get Return itemIndex
End Get End Property
End Class
Public Class RepeatLabel
Inherits Control
Implements INamingContainer
Private _itemTemplate As ITemplate = Nothing
Private _dataSource As ICollection = Nothing
Public Property DataSource() As ICollection
Get Return _dataSource
End Get
Set(ByVal Value As ICollection) _dataSource = Value
End Set
End Property <TemplateContainer(GetType(RepeaterItem))> _
Public Property ItemTemplate() As ITemplate
Get
Return _itemTemplate
End Get
Set(ByVal Value As ITemplate)
_itemTemplate = Value
End Set
End Property
Private Const Numstring As String = "Num" Protected Overrides Sub CreateChildControls()
Dim numobject As Object = ViewState(Numstring)
If Not (numobject Is Nothing) Then
Controls.Clear()
Dim numItems As Int32 = CType(numobject, Int32)
Dim i As Int32
For i = 0 To numItems - 1
Dim item As New RepeaterItem(i, Nothing)
ItemTemplate.InstantiateIn(item) Controls.Add(item)
Next End If
End Sub
Protected Overrides Sub OnDataBinding(ByVal e As EventArgs)
MyBase.OnDataBinding(e)
If Not (DataSource Is Nothing) Then
Controls.Clear()
ClearChildViewState()
Dim dataEnum As IEnumerator = DataSource.GetEnumerator
Dim i As Int32 = 0
While (dataEnum.MoveNext())
Dim item As New RepeaterItem(i, dataEnum.Current) ItemTemplate.InstantiateIn(item) Controls.Add(item)
i = i + 1
End While ChildControlsCreated = True ViewState(Numstring) = i End If End Sub
Protected Overrides Sub AddParsedSubObject(ByVal o As Object)
End SubEnd Class引用:
<%@ Register TagPrefix="cc1" Namespace="WebApplication1" Assembly="WebApplication1" %>
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1" Debug="true" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<cc1:RepeatLabel id="RepeatLabel1" runat="server">
<itemtemplate><asp:Label ID=label1 Runat=server text=<%#container.dataitem%>></asp:Label></itemtemplate>
</cc1:RepeatLabel>
</FONT>
</form>
</body>
</HTML>
出错提示:
“dataitem”不是“WebApplication1.RepeatLabel”的成员
Imports System.Web
Imports System.Web.ui
Imports System.Web.UI.webcontrols
Imports System.Collections.Specialized
Imports System.CollectionsPublic Class RepeaterItem
Inherits Control
Implements INamingContainer
Private itemIndex As Int32
Private dataItem As Object
Public Sub New(ByVal Index As Int32, ByVal data As Object)
Me.itemIndex = Index
Me.dataItem = data
End Sub Public ReadOnly Property text1() As Object
Get Return Dataitem
End Get End Property
Public ReadOnly Property text2() As Int32
Get Return itemIndex
End Get End Property
End Class
Public Class RepeatLabel
Inherits Control
Implements INamingContainer
Private _itemTemplate As ITemplate = Nothing
Private _dataSource As ICollection = Nothing
Public Property DataSource() As ICollection
Get Return _dataSource
End Get
Set(ByVal Value As ICollection) _dataSource = Value
End Set
End Property <TemplateContainer(GetType(RepeaterItem))> _
Public Property ItemTemplate() As ITemplate
Get
Return _itemTemplate
End Get
Set(ByVal Value As ITemplate)
_itemTemplate = Value
End Set
End Property
Private Const Numstring As String = "Num" Protected Overrides Sub CreateChildControls()
Dim numobject As Object = ViewState(Numstring)
If Not (numobject Is Nothing) Then
Controls.Clear()
Dim numItems As Int32 = CType(numobject, Int32)
Dim i As Int32
For i = 0 To numItems - 1
Dim item As New RepeaterItem(i, Nothing)
ItemTemplate.InstantiateIn(item) Controls.Add(item)
Next End If
End Sub
Protected Overrides Sub OnDataBinding(ByVal e As EventArgs)
MyBase.OnDataBinding(e)
If Not (DataSource Is Nothing) Then
Controls.Clear()
ClearChildViewState()
Dim dataEnum As IEnumerator = DataSource.GetEnumerator
Dim i As Int32 = 0
While (dataEnum.MoveNext())
Dim item As New RepeaterItem(i, dataEnum.Current) ItemTemplate.InstantiateIn(item) Controls.Add(item)
i = i + 1
End While ChildControlsCreated = True ViewState(Numstring) = i End If End Sub
Protected Overrides Sub AddParsedSubObject(ByVal o As Object)
End SubEnd Class引用:
<%@ Register TagPrefix="cc1" Namespace="WebApplication1" Assembly="WebApplication1" %>
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1" Debug="true" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<cc1:RepeatLabel id="RepeatLabel1" runat="server">
<itemtemplate><asp:Label ID=label1 Runat=server text=<%#container.dataitem%>></asp:Label></itemtemplate>
</cc1:RepeatLabel>
</FONT>
</form>
</body>
</HTML>
出错提示:
“dataitem”不是“WebApplication1.RepeatLabel”的成员
解决方案 »
- 网站性能如何测试
- ASP 提取数据
- 还是昨天的这个问题,datalist 中的一个按钮这样做是可以的,可是如果是两个按钮呢,那需要怎样来写呢,请帮忙解答!!
- ASP.net里有没有像VC++里类似MSCOMM的控件?
- 请问一下一般asp.net程序员的面试机考出些什么题
- 如何取得页面预览图
- 急急急!如何在windows 2003 服务器上发布应用程序?
- 时间问题,进来看下!
- reportviewer嵌入到webbrowser的问题
- 怎么把DataGrid模板里的布尔值:false,true 显示成“是”,“否”???
- 日期的格式
- 100分求教高手 ICallbackEventHandler和js问题~
所以
dataitem应该是dataItem吧