0

window.onbeforeunload からコード ビハインド メソッド(データをデータベースに保存するなど) を実行したいと考えています。save メソッドに非共有メンバー (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 に答える