ASP.NET:使用JQuery绑定Repeater?

Jas*_*son 2 asp.net jquery databound-controls

我有一个Repeater控件,我绑定服务器端.它重复了一系列div,并且没有问题.我有一些按钮,我用来对转发器进行排序(最新,排名最高,随机),这应该是它应该的方式.

我想通过使用ajax/jquery以某种方式对div进行排序来改善我的用户体验,这样就没有页面回发,用户也不会丢失他/她在页面上的位置.

有没有办法使用jquery访问像这样的服务器端代码,或使用ajax重新绑定服务器端控件?

谢谢...如果我需要列出更多细节,请告诉我!

编辑我知道UpdatePanels,但如果我不需要,我宁愿不使用它们.

Dav*_*ard 10

您是否考虑过将Repeater的功能移至客户端

这样做,分页和排序等功能不是很难添加.实际上,通过使用ADO.NET数据服务作为服务层,您可以非常依赖框架.


Pav*_*uva 6

这相对容易.

  1. 将转发器移动到单独的自定义控件,让我们说MyControl.现在,页面中的转发器变为uc1:MyControl.

  2. 将MyControl包装成div:

    <div id="mydiv">
      <uc1:MyControl ID="MyControl1" runat="server" />
    </div>
    
    Run Code Online (Sandbox Code Playgroud)
  3. 创建一个仅包含MyControl的新页面pgMyControl.aspx.
  4. 在主页面上,将jQuery处理程序添加到排序链接中.使用load方法动态替换div内容:

    $('#link_sort_random').click(function()
    {
      $("#mydiv").load("pgMyControl.aspx&sort=random");
    }
    
    Run Code Online (Sandbox Code Playgroud)
  5. 在MyControl内的数据源中使用QueryStringParameter来更改顺序.或者在代码隐藏文件中使用Request.QueryString.