Frage

Ist es möglich, asp.net Ajax 4.0-Client mithilfe von Vorlagen eine Client-Vorlage wiederverwenden? Ich habe ein Szenario, wie im Beispiel unten gezeigt. Ich habe zwei Fragen hier:

  1. Ich konnte nicht, wenn conditionwork in Client-Vorlage
  2. erhalten
  3. Wie kann ich den u l-Tag wiederverwenden Vorlage für drei Arten von "Spalte" Daten (Sp1, Sp2, col3 in Beispiel json)?

Beispielcode:

<style>
    .sys-template { display:none; }
    .list {width:220px; float:left;  margin:0px 0px 0px 10px; background-color:#f2f2f2; }
    </style>

    <script src="MicrosoftAjax.debug.js" type="text/javascript"></script>
    <script src="MicrosoftAjaxTemplates.debug.js" type="text/javascript"></script>

    <script type="text/javascript">
        var listItems = [{ item: "item1", col: "col1" },
                         { item: "item2", col: "col1" },
                         { item: "item3", col: "col1" },
                         { item: "item4", col: "col2" },
                         { item: "item5", col: "col2" },
                         { item: "item6", col: "col2" },
                         { item: "item7", col: "col2" },
                         { item: "item8", col: "col3" },
                         { item: "item9", col: "col3" },
                         { item: "item10", col: "col3" }]
    </script>
    </head>

    <body xmlns:sys="javascript:Sys" xmlns:dataview="javascript:Sys.UI.DataView" sys:activate="*">
    <ul id="col1" class="list sys-template"  sys:attach="dataview" dataview:data="{{ listItems }}">
        <!--* if (col=="col1") { *-->
        <li>{{item}}</li>
        <!--* } *-->
    </ul>
    <ul id="col2" class="list sys-template"  sys:attach="dataview" dataview:data="{{ listItems }}">
        <!--* if (col=="col2") { *-->
        <li>{{item}}</li>
        <!--* } *-->
    </ul>
    <ul id="col3" class="list sys-template"  sys:attach="dataview" dataview:data="{{ listItems }}">
        <!--* if (col=="col3") { *-->
        <li>{{item}}</li>
        <!--* } *-->
    </ul>
    </body>  
War es hilfreich?

Lösung

So etwas sollte funktionieren - ich bin nur diese on the fly eingeben mir so vergeben, wenn es perfekt ist nicht.

<ul id="template1" class="sys-template">
  <li code:if="col==$element.id">{{item}}</li>
</ul>

<ul id="col1" class="list sys-template" sys:attach="dataview" dataview:data="{{listItems }}" dataview:itemtemplate="template1">
</ul>
<ul id="col2" class="list sys-template" sys:attach="dataview" dataview:data="{{listItems }}" dataview:itemtemplate="template1">
</ul>
<ul id="col2" class="list sys-template" sys:attach="dataview" dataview:data="{{listItems }}" dataview:itemtemplate="template1">
</ul>

Andere Tipps

In Vorschau 4, injizieren Sie Code Code: vor und Code:. Nach Attributen anstelle der Kommentar Codeblöcke

Es ist auch möglich, eine Vorlage wiederverwenden. Eigentlich wird der Rahmen das für Sie tun. Wenn Sie die Vorlage Eigenschaft von zwei Datenansichten auf dem gleichen Element zeigen, nur eine Vorlage kompiliert und gewöhnungs

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top