【发布时间】:2012-01-01 18:43:25
【问题描述】:
我正在尝试以编程方式创建 ASP:Repeater,但在尝试绑定列时遇到了问题。我读过的教程非常混乱,其中许多都没有达到绑定的目的。
我的问题仅在于绑定数据,当我将其写入“静态”转发器时:
<%# DataBinder.Eval(Container.DataItem, "Name")%>
我不知道在代码隐藏中工作时应该做什么,它在一个类中,所以我没有事件处理程序。到目前为止,这是我的代码:
Dim DsArbol As New SqlDataAdapter(query, System.Configuration.ConfigurationManager.ConnectionStrings("CNX").ConnectionString)
Dim tablaCarpetas As New DataTable
DsArbol.Fill(tablaCarpetas)
Dim RepArbol As New Repeater
RepArbol.DataSource = tablaCarpetas
RepArbol.ID = "repArbolCarpetas"
Dim header As New TemplateBuilder
Dim item As New TemplateBuilder
Dim footer As New TemplateBuilder
header.AppendLiteralString("<ul class=""arbol-carpetas"">")
item.AppendLiteralString(String.Format("<li id=""li_carpeta_{0}"">{1}</li>", 1, DataBinder.Eval(Container.DataItem, "Name")))
footer.AppendLiteralString("</ul>")
RepArbol.HeaderTemplate = header
RepArbol.ItemTemplate = item
RepArbol.FooterTemplate = footer
RepArbol.DataBind()
PanelArbolCarpetas.Controls.Add(RepArbol)
我应该写什么而不是DataBinder.Eval(Container.DataItem, "Name")?
【问题讨论】:
-
首先,您应该将数据分配给tablaCarpetas;然后,将代码 .cs 和代码 .aspx 分开。页眉、页脚和项目模板应在代码.aspx 中使用。