javascript - 如果启用了 javascript,则忽略/禁用用户控件回发

标签 javascript asp.net jquery postback client-side

我四处寻找解决这个问题的办法。希望这里有人能解释一下!!

我创建了一个使用 .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。假设我可以检测是否启用了 javascript。在这种情况下,我需要在服务器上的客户端上进行计算,这意味着我需要触发回发....

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

任何人都知道如何做到这一点......或者我是从错误的 Angular 接近这个?!??

亲切的问候

理查德

最佳答案

AutoPostBack = true通过javascript实现。因此,如果用户禁用了 javascript,那也不起作用。禁用 javascript 时获得 PostBack 的唯一方法是使用用户控件,它作为 <input type="submit" /> 呈现给客户端因为这会导致浏览器发布表单。呈现 javascript:__doPostBack() 的任何服务器控件链接将无效。

关于javascript - 如果启用了 javascript,则忽略/禁用用户控件回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3978777/

相关文章:

javascript - event.preventDefault 与 event.stopPropagation

asp.net - 如何从中继器中的控件获取数据

javascript - 一旦 bool 变量为 false 在其他情况下不返回 true

javascript - 在打开迷你浏览器 jquery 之前检查单选按钮

javascript - 根据与二维数组相关的下拉选择设置 2 个表单字段

javascript - 如何有效地将 Immutable.js 映射列表转换为纯 js 对象数组以在 React 组件中使用?

c# - System.Globalization.CultureInfo 不包含 Name 的定义

c# - 奇怪的字符串格式+来自mysql中文件上传的路径名

javascript - 使用 setTimeout 延迟我的脚本

javascript - 如何停止slidetoggle()上的setInterval()然后再次重新启动?