2010-05-23 10 views
0

Je ne peux pas comprendre ce qui ne va pas. Son fonctionnement lorsque j'ai essayé de rafraîchir seulement les sujets, mais il ne fonctionne pas lorsque essayé de rafraîchir les sujets et les liens de page. c'est à dire. Le rafraîchissement de la table des matières, et la disparition des «pagelinks», je pensais que pure ne pouvait pas atteindre - lire le deuxième noeud du template. Par ailleurs, j'ai testé leur code, la première boîte de message affiche tous les noeuds - inclut le noeud 'pagelinks', mais la seconde entrée ne montre que les lignes de sujet. Cela ressemble à un bug. Quelqu'un sait comment puis-je résoudre cela?JQuery Pure Template

ps. J'utilise la dernière version de pure.

Merci.

Test Code - Ligne de pure.js: 189

function dataselectfn(sel) { 
    // ... 
    m = sel.split('.'); 
    alert(m.toSource()); 
    return function (ctxt) { 
     var data = ctxt.context; 
     if (!data) { 
      return ''; 
     } 

     alert('in function: ' + m.toSource()); 
     // ... 

Json:

{"topics":[{"name":"foo"}],"pagelinks":[{"Page":1},{"Page":2}]} 

HTML - avant pur rendu:

<table> 
    <tbody> 
     <tr> 
      <td class="pagelinks"> 
       <a page="1" href="/Topics/IndexForAreas?page=1" class="p [email protected]">1</a> 
      </td> 

      <td class="pagelinks"> 
       <a page="2" href="/Topics/IndexForAreas?page=2" class="p [email protected]">2</a> 
      </td> 
     </tr> 
    </tbody> 
</table> 

HTML - après le rendu pur:

<table> 
    <tbody> 
     <tr> 
     </tr> 
    </tbody> 
</table> 

Controller:

[Transaction] 
    public ActionResult IndexForAreas(int? page) 
    { 
     TopicService topicService = new TopicService(); 
     PagedList<Topic> topics = topicService.GetPaged(page); 
     if (Request.IsAjaxRequest()) 
     { 
      return Json(new { 
       topics = topics.Select(t => new { 
        name = t.Name, 
       }), 
       pagelinks = PagingHelper.AsPager(topics, 1) 
      }); 
     } 
     return View(topics); 
    } 

ASP.NET - Vue:

<div class="topiccontainer"> 
    <table> 
     <% 
      foreach (Topic topic in ViewData.Model) 
      { %> 
     <tr class="topics"> 
      <td> 
       <%= Html.ActionLink<ForumPostsController>(ec => ec.Index(topic.Name, null), topic.Name, new { @class="name [email protected]" })%> 
      </td> 
      //bla bla... 
     </tr> 
     <%} %> 
    </table> 
    <table> 
     <tr> 
      <% Html.Pager(Model, 1, p => 
      { %> 
      <td class="pagelinks"> 
       <%= Html.ActionLink<TopicsController>(c => c.IndexForAreas(p.Page), p.Page.ToString(), new { page = p.Page, @class = "[email protected]" })%> 
      </td> 
      <% }); %> 
     </tr> 
    </table> 
</div> 

Maître Page:

<% Html.RenderAction("IndexForAreas", "Topics", new { area = "" }); %> 
    <script type="text/javascript"> 
     $.post("<%= Html.BuildUrlFromExpressionForAreas<TopicsController>(c => c.IndexForAreas(null)) %>", { page: page }, 
       function (data) { 
        $(".topiccontainer").autoRender(data); 
       }, 
       "json" 
     ); 
    </script> 

Répondre