मैं xml डेटा का उपयोग करके दोहराने वाले के भीतर दोहराने की कोशिश कर रहा हूं। मैं इसे ठीक तरह से काम कर रहा हूं जैसा कि मैं चाहता हूं, लेकिन जिस विधि का मैंने उपयोग किया है, वह प्रत्येक पुनरावर्तक के लिए डेटा को पुनः लोड करता है। मुझे लगता है कि मुझे XmlNode के रूप में डालने की ज़रूरत है लेकिन मैं ईमानदार रहूंगा - मुझे नहीं पता कि कहां से शुरू करना है।प्रत्येक पुनरावर्तक के लिए सभी एक्सएमएल डेटा को पुनः लोड करने से बचें - vb.net
यहां मेरा कोड है - यदि संभव हो तो मैं सबकुछ कोड में रखना चाहता हूं।
<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>
कोई विचार?
यह बिल्कुल सही है जो मुझे लगता है ...हालांकि, "onItemDataBond" सहित मुझे नहीं लगता कि मेरे पास कोई ग्राहक नहीं दिखने का कोई तरीका है यदि उनके पास कोई उत्पाद नहीं है (जो कि यह अजीब लगता है, संभव है) – Tom
ठीक है, आप हमेशा पुनरावर्तक को प्रतिस्थापित कर सकते हैं इसके बजाय सूचीदृश्य नियंत्रण के लिए, चूंकि सूचीदृश्य को EmptyDataTemplate की तरह मिल गया है जो स्वचालित रूप से प्रदर्शित होगा यदि आपके पास उस उपयोगकर्ता के लिए कोई डेटा नहीं है, तो जल्दी से एक उदाहरण जोड़ देगा – cstruter