从window.onbeforeunload调用代码隐藏方法?

时间:2012-09-05 20:32:14

标签: javascript jquery asp.net

我想从window.onbeforeunload执行方法(如保存数据到数据库)后面的代码。由于save方法中的非共享成员(txtboxed,cmbboxes等),我无法使用PageMethods。如何处理这种情况?这实际上是在扼杀我的时间。

请帮帮我。

1 个答案:

答案 0 :(得分: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);
}