Игнорировать/отключить обратную передачу пользовательского управления, если включен javascript

Я искал высоко и низко какое-то решение этой проблемы. Надеюсь, здесь кто-нибудь объяснит!!

Я создаю пользовательский элемент управления, который использует веб-элементы управления .NET, но я хочу создать более плавный пользовательский интерфейс, избегая полных обратных передач, поэтому я пишу JQUERY для захвата событий кликов на клиенте и, таким образом, выполняю обработку, не возвращаясь к серверу. .

        $("#tblLedgerEntries :checkbox").click(function () {
            var value1 = $(this).closest("tr").find("td.invoiceAmount").html();
            var value2 = $('#<%=hdnTotalToPay.ClientID%>').html();
            CalculateTotalPayable(value1, value2, $(this).attr("checked"));
        });

Все хорошо. Теперь кто-то заходит на мой сайт с отключенным javascript. Предположим, я могу определить, включен ли javascript или нет. В этой ситуации мне нужно будет выполнить вычисления, которые я выполнял на клиенте на сервере, что означает, что мне нужно вызвать обратную передачу....

Как мне это сделать..... Я хочу инициировать полную обратную передачу только в том случае, если javascript отключен. Я хочу использовать клиентский скрипт, если включен javascript. Если это применимо к флажкам (пользовательский интерфейс пересчитывает подлежащую выплате сумму каждый раз, когда пользователь щелкает флажок строки), единственный способ, которым я могу вызвать обратную передачу, — это использовать AutoPostBack=True.... но это всегда будет выполнять обратную передачу независимо от клиентского скрипта.....ааааа.

Кто-нибудь знает, как это сделать .... или я подхожу к этому с неправильного угла?!??

С уважением

Ричард


person user481777    schedule 20.10.2010    source источник


Ответы (2)


AutoPostBack = true реализовано через javascript. Поэтому, если у пользователя отключен javascript, это тоже не сработает. Единственный способ получить PostBack, когда javascript отключен, - это пользовательский элемент управления, который отображается для клиента как <input type="submit" />, поскольку это заставляет браузер публиковать форму. Любые серверные элементы управления, отображающие javascript:__doPostBack() ссылки, не будут работать.

person Ken Browning    schedule 20.10.2010