【问题标题】:use ajax to bind/rebind a listview datasource?使用 ajax 绑定/重新绑定列表视图数据源?
【发布时间】:2012-03-29 16:12:01
【问题描述】:

是否可以使用 Ajax 绑定/重新绑定 RadListView 的数据源?我想做的是创建一种论坛。一个 ListView 嵌套在另一个 ListView 中。外部列表视图将在页面加载时加载并显示所有主题标题,并且在单击标题之前不会绑定内部列表视图。然后我将使用 jQuery 打开标题下的详细信息并使用 ajax 加载那个 ListView。这可能吗?如何?还是有其他方法可以达到这种效果?谢谢。

【问题讨论】:

    标签: javascript jquery asp.net telerik


    【解决方案1】:

    您可以将外部列表包装在UpdatePanel 中,并将OnClick 处理程序分配给主题行。单击主题行时,将发生异步回发,您可以在单击事件处理程序中绑定内部列表。

    您需要以一种或另一种方式进入代码隐藏。如果要使用 jQuery,可以将点击事件附加到标题并在处理程序中调用 __doPostBack,如下所示:

    $("#<%=ListView1.ClientID%> .header").click(function(){
        __doPostBack($(this).attr("id"), "");
    });
    

    如果您采用这种方法,您只需覆盖代码隐藏中的RaisePostBackEvent,并使用一些逻辑深入到内部列表。

    【讨论】:

      【解决方案2】:

      如果您不关心执行 PostBack,最简单的方法是将嵌套的 ListView 连接起来,并将标题挂钩到 ItemCommand 事件并绑定您需要的适用的 RadListView,并隐藏其他。您可以禁用这些控件上的 ViewState 以减小尺寸,因为如果您不进行任何分页或排序,您只会显示当前选定的项目 ListView。

      为了更快的回发,您可以查看 RadListView 的客户端数据绑定

      http://demos.telerik.com/aspnet-ajax/listview/examples/client/programmaticdatabinding/defaultcs.aspx

      您将生成一个函数,您可以将 ListView 的 ClientID 发送到数据绑定以及单击标题时显示的外部 div(如果需要)。

      然后该函数将找到 ListView,显示外部容器,并对其进行数据绑定。如果您需要该功能,您还可以包含可以折叠当前可见 div 的代码。保存前一个 div 的 ID 的全局变量将是一种简单的工作方式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-28
        • 2011-11-10
        • 1970-01-01
        • 1970-01-01
        • 2015-04-22
        • 2010-11-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多