Javascript 在没有 AJAX 或 PageMethods 的情况下调用服务器端函数

Javascript call to server side function without AJAX or PageMethods

我知道如何使用 AJAX、JSON 甚至 PageMethods 进入服务器端,但是,我使用的是旧应用程序,不允许使用这些技术。 (耻辱我知道)

我目前在 AspListBox 对象上有一个 ondblclick 事件,该事件会触发一些 javascript 并弹出一个对话框。

ondblclick="Window('object'); return false;"

function Window(object) {

var window = object

// blah

}

正常工作,但我需要从数据库中填充一些属于此对话框的值,因此转到服务器。

如何从 javascript 执行此操作?

我很久以前就使用了 javascript 函数中隐藏的 aspxButton 中的服务器端方法。

// Causes a postback but this is how it will only work now...
document.getElementById('buttonId').click(); 

这是我解决这个问题的最佳方法吗?或者有别的方法吗?

谢谢

是的,有一个!您可以将 XMLHttpRequest 发送到您的服务器。这也可以为它挂钩形式 POST 格式。但请注意,这不是标准的 JavaScript 实现。所以你还需要实现跨浏览器支持。如果您想使用已经实现的完整解决方案,我建议您使用 jQuery.

如果你有这个,你现在需要把它放在你的 JS 代码中的某个地方。最好的方法是在列表框填满后注册一个事件。