将序列化的JSON数据绑定到中继器


 protected void BindData()
    {
        List<Product> products = product.GetRepeaterData(prod);
        string json = JsonConvert.SerializeObject(products);
        dataRepeater.DataSource = json;
        dataRepeater.DataBind();
    }
 <asp:Repeater ID="dataRepeater" runat="server">
    <HeaderTemplate>
        List<div id="accordion">
    </HeaderTemplate>
    <ItemTemplate>
        <h3>
            <a href="#" style="background-color: gray; height: 25px; color: White; text-decoration: none;">
                <%# DataBinder.Eval(Container.DataItem, "Name")%></a></h3>
        <div>
            <ul>
                <li><span>Id:
                    <%# DataBinder.Eval(Container.DataItem, "Id")%></span></li>
                <li><span>OrganizationId:
                    <%# DataBinder.Eval(Container.DataItem, "Organization")%></span>    </li>
                <li><span>ParentProduct:
                    <%# DataBinder.Eval(Container.DataItem, "Product")%></span></li>
        </div>
    </ItemTemplate>
    <FooterTemplate>
        </div></FooterTemplate>
</asp:Repeater>
error: DataBinding: 'System.Char' does not contain a property with the name 'Name'. 
 <%# DataBinder.Eval(Container.DataItem, "Name")%></a></h3>

我是JSON和AJAX的整个概念的新手。我们正在从网络服务中获取大量数据,因此它会减慢过程,直到呼叫完成为止。我必须使用JSON和AJAX进行异步调用。目前,我能够在绑定之前在绑定之前序列化/应对数据序列化,在将数据划分为中继器之后,我看不到将数据绑定到任何点,因此我试图将序列化数据绑定到中继器,但没有结合。其次,任何人都可以告诉我如何作为Ajax电话做到这一点?在客户端添加更新面板是否足以满足目的?对不起,我知道这个问题有点模糊,但我现在迷路了..任何文件或示例也会有所帮助。.因为我不确定这是正确的方法。...

JSON旨在使用端端,您不会使用服务器端控件进行绑定。

如果您想要绑定的语法,则有许多框架。淘汰,胡须等

通常,您可以通过AJAX调用获得JSON,并使用该数据以所需的方式向DOM添加标记。忘记服务器端控件,除非您要使用UpdatePanel或类似。

相关内容

  • 没有找到相关文章

最新更新