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