从window.onbeforeunload调用方法背后的代码

call code behind method from window.onbeforeunload?

本文关键字:背后 代码 方法 调用 window onbeforeunload      更新时间:2023-09-26

我想从window.obeforeunload执行方法背后的代码(如将数据保存到数据库)。由于保存方法中存在非共享成员(txtboxed、cmbboxes等),我无法使用PageMethods。如何处理这种情况?这简直是在消磨我的时间。

请帮帮我。

onbeforeunload事件中执行与服务器相关的操作的唯一方法是向服务器发出新请求,例如使用页面方法。页面已经在离开的路上,所以没有其他方法可以与服务器通信。

将实际保存重构到一个单独的静态方法中,您可以从常规事件和页面方法中调用该方法。示例:

public static void ActualSave(string somedata, string otherdata) {
  // save
}
public void SaveButton_Click(object sender, EventArgs e) {
  string somedata = SomeControl.Text;
  string otherdata = OtherControl.Text;
  ActualSave(somedata, otherdata);
}