javascript - .NET doPostBack 触发后更新 javascript 变量

标签 javascript asp.net vb.net

每当我的 vb.net 页面触发“doPostBack”事件(导致 .net session 变量更新)时,我都会尝试更新 JavaScript 变量。

我尝试添加此内容,但不起作用。

<script>

    var mySessionVariable = '<%= Session("monsterID")%>';

    addToPostBack = function (func) {
        var old__doPostBack = __doPostBack;
        if (typeof __doPostBack != 'function') {
            __doPostBack = func;
        } else {
            __doPostBack = function (t, a) {
                if (func(t, a)) old__doPostBack(t, a);
            }
        }
    };

    $(document).ready(function () {

         addToPostBack(function (t, a) {
             mySessionVariable = '<%= Session("monsterID")%>';
         });

         console.log("mySessionVariable: ", mySessionVariable);
   });

</script>

即使在触发执行“doPostBack”的事件后,vb.net 端的 Session 变量发生变化,它在客户端回发之前和之后仍然保持不变。

MonsterVar1
MonsterVar1

有办法让它发挥作用吗?

谢谢!

最佳答案

使用隐藏字段代替从 session 中获取某些内容以使其与页面上的 JS 配合使用不会更有意义:

 <asp:HiddenField id="HiddenField1" runat=Server />

JS

//document.getElementById('<%= HiddenField1.ClientID%>');

var value = document.getElementById("<%= Hiddenfield1.ClientID %>").value

关于javascript - .NET doPostBack 触发后更新 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43528912/

相关文章:

c# - 如何使用 openpop.net 下载多个附件

c# - 线程中join和await的区别

c# - 如何在gridview中排列数据表列?

c# - CLR 垃圾回收方法是否意味着可以安全地抛出循环对象引用?

javascript - IE 上的性能 API 结果对于每次调用都是不同的值

javascript - 在 Jquery 中隐藏除某个类的一个元素以外的所有元素

javascript - 我怎样才能看到这个网站 www.samy.pl 的源代码?

javascript - 将 javascript window.onerror 限制为仅在我的脚本中出现错误

mysql与vb net远程连接

C# 到 VB.net 字节转换