0

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

请帮帮我。

4

1 回答 1

0

在事件中执行与服务器相关的操作的唯一方法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);
}
于 2012-09-05T20:38:05.107 回答