每当我的 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/