感谢大佬回答,有了理解,这属于动态JS的范畴
下面写了两个能实行方法的实例以作后来人的参考
//方法一
var actualCode = "setTimeout('__doPostBack(\\'ddlDptCode\\',\\'\\')', 0)";
var script = document.createElement('script');
script.textContent = actualCode;
(document.head||document.documentElement).appendChild(script);
script.remove();
//方法二
(function() {
var a = 1;
var s = document.createElement('script');
s.textContent = "setTimeout('__doPostBack(\\'ddlDptCode\\',\\'\\')', 0)";
document.documentElement.append(s);
})();
注意:原本执行的JS为
setTimeout('__doPostBack(\'ddlDptCode\',\'\')', 0)
但写进动态JS里面时要对斜线在附加上斜线写成
setTimeout('__doPostBack(\\'ddlDptCode\\',\\'\\')', 0)
该解决方案可以解决更新下拉框select元素的值,网页没有反应的问题,关联问题如下
更新下拉框select元素的值,网页没有反应
关于更新下拉框的具体JS获取,则是HTML文件源码中的OnSelectedIndexChanged事件转换成的JS代码,具体可看下面连接
JS 调用.NET中 服务端控件