Estoy tratando de colocar un repetidor dentro de un repetidor utilizando datos xml. Lo tengo trabajando exactamente como quiero, pero el método que he usado recarga los datos para cada repetidor. Creo que necesito lanzar como un XmlNode, pero voy a ser sincero, no tengo idea de por dónde empezar.Evite volver a cargar todos los datos XML para cada repetidor - vb.net
Aquí está mi código: si es posible, me gustaría mantener todo en el código.
<script runat="server">
Public doc As New XmlDocument()
Public Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
If Not Page.IsPostBack then
doc.Load(Server.MapPath("~/myxml/bookstore.xml"))
Dim nodes As XmlNodeList = doc.SelectNodes("Bookings/Booking[@CLIENT_NO='SA33762']")
rpMyRepeater.DataSource = nodes
rpMyRepeater.DataBind()
End If
End Sub
Protected Sub itemDB(ByVal s As Object, ByVal e As RepeaterItemEventArgs)
If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem Then
Dim rpt As Repeater = CType(e.Item.FindControl("books"), Repeater)
If Not (rpt Is Nothing) Then
doc.Load(Server.MapPath("~/myxml/bookstore.xml"))
Dim nodes2 As XmlNodeList = doc.SelectNodes("Bookings/Booking[@CLIENT_NO='SA33762']/Products/Book")
rpt.DataSource = nodes2
rpt.DataBind()
End If
End If
End Sub
</script>
¿Alguna idea?
Eso es casi perfecto, creo ...sin embargo, al no incluir un "onItemDataBond", no creo que tenga una forma de no mostrarle a un cliente si no tiene ningún producto (que aunque parezca extraño, es posible) – Tom
Bueno, siempre puede sustituir al repetidor para el control listview en cambio, dado que la vista de lista tiene una EmptyDataTemplate que se mostrará automáticamente si no tiene ningún dato para ese usuario, agregará un ejemplo rápidamente – cstruter