2010-10-20 54 views
1

我已经搜索了高分辨率和低分辨率来解决此问题。希望这里有人能解释!如果启用javascript,则忽略/禁用usercontrol回发

我创建了一个使用.NET Web控件的用户控件,但我希望通过避免完整的回传来创建更流畅的用户体验,所以我编写了一些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 DISABLED。假设我可以检测到javascript是否启用或以其他方式。在这种情况下,我将需要做的计算,我在服务器上的客户端做这意味着我需要触发回发....

我该怎么做.....我只想触发如果JavaScript被禁用,则会进行完整回发。如果启用javascript,我想使用客户端脚本。如果这适用于复选框(每当用户单击一行时,UI都会重新计算应付金额复选框),但我可以看到触发回发的唯一方法是使用AutoPostBack = True ....但无论如何,的客户端脚本..... arghhh。

任何人都知道如何做到这一点......或者我是否从错误的角度接近了这个问题?

亲切的问候

理查德

回答

4

AutoPostBack = true通过javascript实现。所以如果用户禁用了JavaScript,那也不起作用。禁用javascript时返回PostBack的唯一方法是使用一个usercontrol,它以<input type="submit" />的形式呈现给客户端,因为这会导致浏览器发布表单。任何渲染javascript:__doPostBack()链接的服务器控件都不起作用。

0
$("#btnSave").attr('disabled', true); 
+1

添加一些意见了解.. – bgs 2013-10-07 13:18:31

+0

检查出来:http://stackoverflow.com/a/19225742/2854760 – Raj 2014-01-06 13:04:41