代码之家  ›  专栏  ›  技术社区  ›  cem

jquery纯模板

  •  0
  • cem  · 技术社区  · 14 年前

    我不知道怎么了。它的工作时,我试图刷新主题,但不工作时,试图刷新主题和页面链接。也就是说,主题表的刷新,以及“pagelinks”的消失,我认为pure无法访问-读取第二个模板节点。

    顺便说一句,我测试了它们的代码,第一个消息框显示所有的节点——包括“pagelinks”节点,而第二个函数只显示主题行。它看起来像个虫子。有人知道我怎么解决这个问题吗?

    我用的是最新版本的pure。

    谢谢。

    测试代码-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-纯呈现之前:

    <table>
        <tbody>
            <tr>
                <td class="pagelinks">
                    <a page="1" href="/Topics/IndexForAreas?page=1" class="p Page@page">1</a>
                </td>
    
                <td class="pagelinks">
                    <a page="2" href="/Topics/IndexForAreas?page=2" class="p Page@page">2</a>
                </td>
            </tr>
        </tbody>
    </table>
    

    HTML-纯呈现后:

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

    控制器:

        [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 -视图:

    <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 viewlink@href" })%>
                </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 = "Page@page" })%>
                </td>
                <% }); %>
            </tr>
        </table>
    </div>
    

    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>
    
    1 回复  |  直到 13 年前
        1
  •  0
  •   Mic    14 年前

    下次您有关于pure的问题或问题时,可以将其发布在: http://groups.google.com/group/Pure-Unobtrusive-Rendering-Engine

    一般来说,你会得到一个快速的反应。