2012-09-03 10 views
10

मैं एक सूची के लिए एक केंडो यूआई टेम्पलेट के भीतर पता लगाने की कोशिश कर रहा हूं कि पेज पर जानकारी प्रस्तुत करने के लिए प्रत्येक ऑब्जेक्ट के भीतर एक संग्रह के माध्यम से कैसे लूप करना है। यहाँ json मैं के साथ खेल रहा हूँ का एक उदाहरण है:सूची दृश्य के लिए टेम्पलेट के भीतर जेसन में संग्रह के माध्यम से केंडो यूआई लूप

{"Data":[{"Title":"Malicious Acts","KeyPairs":{"Key1":"12","Key2":"24"}},   {"Title":"Enrollments","KeyPairs":{"Key1":"12","Key2":"24"}},{"Title":"Customer Feedback","KeyPairs":{"Key1":"12","Key2":"24"}},{"Title":"Questionable Accounts","KeyPairs":{"Key1":"12","Key2":"24"}}],"Total":4,"AggregateResults":null,"Errors":null} 

मैं टेम्पलेट में KeyPairs आइटम को रखना चाहते हैं और सिर्फ एक कुछ कैसे समझने में कोई परेशानी हो रही है।

यहाँ स्रोत है:

<div id="subscriberFunctions"> 

    <script type="text/x-kendo-tmpl" id="template"> 
     <div class="subscriberFunction"> 
      <h3>${Title}</h3> 
      <!-- Display KeyPairs --> 
     </div> 
    </script> 

    @(Html.Kendo().ListView<SubscriberMenuFunction>() 
     .Name("listView") 
     .TagName("div") 
     .ClientTemplateId("template") 
     .DataSource(dataSource => 
     { 
      dataSource.Read(read => read.Action("SubscriberMenu", "ListView")); 
     }) 
     .Selectable(selectable => selectable.Mode(ListViewSelectionMode.Single)) 

    ) 
</div> 

मुझे यकीन है कि मैं सिर्फ इस overthinking कर रहा हूँ कर रहा हूँ, और यह कुछ साधारण है, लेकिन नहीं जानते कि कैसे टेम्पलेट में foreach पाश को लागू करने के केंडो यूआई पहचान करने के लिए के लिए यह।

अग्रिम धन्यवाद!

उत्तर

23

आप के लिए लूप में एक काउंटर के साथ ऐसा कर सकते हैं।

<script type="text/x-kendo-tmpl" id="template"> 
<div class="subscriberFunction"> 
    <h3>${Title}</h3> 
    <!-- Display KeyPairs --> 
    <ul> 
     #for (var i=0,len=KeyPairs.length; i<len; i++){# 
      <li>${ KeyPairs[i] }</li> 
     # } # 
    </ul> 
</div> 

+0

यह एक बेहतर तरीका है और महान काम करता है और आउटपुट में अतिरिक्त कोड स्निपेट नहीं लाता है। – mservais

+0

मुझे लगता है कि आपके पास "var i = 0" के बाद एक टाइपो है, अल्पविराम सही अर्धविराम होना चाहिए? –

+0

^मुझे लगता है कि आपके पास 'होना चाहिए' के ​​बाद एक टाइपो है, 'अर्धविराम' 'अर्धविराम' होना चाहिए? : पी – PAULDAWG

8

आप एक टेम्पलेट के अंदर मनमाने ढंग से जावा स्क्रिप्ट कोड हो सकता है:

<script type="text/x-kendo-tmpl" id="template"> 
    <div class="subscriberFunction"> 
     <h3>${Title}</h3> 
     <!-- Display KeyPairs --> 
     <ul> 
     # for (var key in KeyPairs) { # 
       <li>${ KeyPairs[key] }</li> 
     # } # 
     </ul> 
    </div> 
</script> 
+2

यह मेरा मान मिल गया लेकिन क्या जावास्क्रिप्ट कोड की तरह दिखता है साथ लाए:: • \t 52b1e4cc-5fef-4f5c-a0b5-f054b2cf6655 • \t function() {वापसी ख} यह आपकी समस्या का समाधान करना चाहिए • \t फ़ंक्शन (ए) {var b = this, c, d, e = function() {return b}, f; o.fn.init.call (this); (d in a) c = a [ घ], d.charAt (0) = "_" && (च = M.call (ग), ग = b.wrap (सी, डी, ई)), बी [घ] = ग;! b.uid = n.guid()} • \t फ़ंक्शन (ए) {इस.hasOwnProperty (ए) && a = == "_ ईवेंट" और इसे टाइप करें [a]! == r && a! == "uid"} • \t फ़ंक्शन() {var a = {}, b, c; के लिए (सी में) यदि (यह। ShouldSerialize (सी)) {बी = यह [सी]; अगर (बी उदाहरण के आर || बी उदाहरण के क्यू) बी = b.toJSON(); एक [सी] = बी} एक} लौटाएं ... – mservais

+0

क्या कुंजीपियर इस उदाहरण के लिए एक बुरा नाम है? – mservais

+0

@mservais क्या आपने जावास्क्रिप्ट से छुटकारा पाने के बारे में पता लगाया था? मुझे एक ही दुविधा का सामना करना पड़ रहा है। –

संबंधित मुद्दे