2009-12-24 63 views
1

我正在使用tablesorter jQuery插件对我的表进行一些排序。我使用这个的网站是在.Net 3.5中编程的,我使用ASP.NET AJAX和updatepanel来执行异步页面更新。部分页面中的动态Javascript Postback

我遇到的问题是当使用表分拣机,我有一些列,我想禁用排序。我有以下JavaScript代码这样做,

function pageLoad(sender, args) { 
     // Set table sorting in the load event so this takes care of partial page postbacks 
     $$("gvRosters").tablesorter({ 
      sortList: [[0, 0]], 
      widgets: ['zebra'], 
      8: { 
       // disable it by setting the property sorter to false 
       sorter: false 
      } 
     }); 
    } 

我想要隐藏的列是第9列,并且一切工作正常。我将这段代码放在pageLoad函数中,这样它就可以在部分回发上运行,它可以运行它。问题是我有一个链接按钮,在页面上调用异步更新,这会更改我的表中的可见列。因此,我需要隐藏的第9列成为需要隐藏的第12列。我不知道正确的方法使用重新布线隐藏的列,以便它读取:

function pageLoad(sender, args) { 
     // Set table sorting in the load event so this takes care of partial page postbacks 
     $$("gvRosters").tablesorter({ 
      sortList: [[0, 0]], 
      widgets: ['zebra'], 
      11: { 
       // disable it by setting the property sorter to false 
       sorter: false 
      } 
     }); 
    } 

上,而不是一个局部回传。基本上我需要做的是在部分回传(它已经在pageLoad函数内部执行)时再次运行此代码,但是我还需要动态更改运行的JavaScript代码,以禁止在正确的列上排序。我很感谢您对此问题提供的任何见解。

回答

0

创建2种JavaScript方法,

  1. 最初在第一页加载(这是9周的cols),

  2. 下一次修改的cols(使得12周的cols)。

最初直接从您的JavaScript代码调用方法1。而从LinkBut​​ton的你可以调用使用

ScriptManager.RegisterStartupScript 

希望这有助于第二个JavaScript方法ASYN回发。

+0

这样做的结果很好。感谢你的回答! – Nate32 2009-12-28 18:50:38