2015-02-20 5 views
9

में नियंत्रण की clientid जाओ पुनरावर्तक ईवेंट सक्रिय जब आइटमपुनरावर्तक

Protected Sub Repeater1_ItemCreated(sender As Object, e As RepeaterItemEventArgs) Handles Repeater1.ItemCreated 

बनाई गई है और यह पकड़ने और इस एकल डेटा पंक्ति पर नियंत्रण संशोधित करने के लिए संभव है।

Dim lnk As HyperLink = CType(e.Item.FindControl("lblShipmentDetails"), HyperLink) 

अब समस्या यह है कि किसी भी जावास्क्रिप्ट के लिए, सही क्लाइंट आईडी निर्धारित करने की आवश्यकता है। लेकिन नियंत्रण में क्लाइंट आईडी नहीं है, केवल lblShipmentDetails स्ट्रिंग।

क्या MSDN कहते हैं:

https://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode%28v=vs.110%29.aspx

https://msdn.microsoft.com/en-us/library/1d04y8ss%28v=vs.140%29.aspx

या CodeProject:

http://www.codeproject.com/Articles/108887/Client-Ids-Generation-with-ASP-NET

लेकिन यह कैसे सही ClientID पुनरावर्तक जावास्क्रिप्ट में इसका इस्तेमाल करने से पकड़ने के लिए?

ClientDi

स्रोत ऑटो आईडी के साथ उत्पन्न होता है। यह आईडी कैसे प्राप्त करें? Auto Id

उत्तर

4

DataBound इवेंट का उपयोग करें। नियंत्रण आईडी प्राप्त करने के लिए, पुनरावर्तक को पहले डेटा को बांधना होगा। फिर बस Created ईवेंट में आईडी के लिए पूछें।

Protected Sub Repeater1_ItemDataBound(sender As Object, e As RepeaterItemEventArgs) Handles Repeater1.ItemDataBound 
    If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then 
     Dim btn As Button = CType(e.Item.FindControl("btnOrderTrackingConfirmMove"), Button) 
     If btn IsNot Nothing Then 
      Dim RealId As String = btn.Page.ClientScript.GetPostBackEventReference(btn, String.Empty).ToString 

     End If 
    End If 
End Sub 
संबंधित मुद्दे