Динамический Javascript в частичной обратной передаче страницы - PullRequest
1 голос
/ 25 декабря 2009

Я использую плагин tablesorter jQuery для некоторой сортировки моих таблиц.Сайт, на котором я использую это, запрограммирован в .Net 3.5, и я использую ASP.NET AJAX и панели обновления для выполнения своих асинхронных обновлений страниц.

Проблема, с которой я сталкиваюсь, заключается в использовании таблицысортировщик, у меня есть несколько столбцов, по которым я хочу отключить сортировку.Для этого у меня есть следующий код 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, который запускается, чтобы отключить сортировку в правильном столбце.Я ценю любую информацию, которую вы можете предоставить по этой проблеме.

1 Ответ

0 голосов
/ 25 декабря 2009

Создать 2 метода javascript,

  1. начальная загрузка первой страницы (для 9 столбцов),

  2. в следующий раз, когда вы изменяете ваши cols (составляет 12 cols).

Сначала вызовите метод 1 непосредственно из кода JavaScript. А при асинхронной обратной передаче от кнопки ссылки вы можете вызвать 2-й метод javascript, используя

ScriptManager.RegisterStartupScript

Надеюсь, это поможет.

...