私のフォームでは、2 つの異なる保存方法があります。
「保存」は、ポストバックを通じてユーザーの入力をリストに保存し、保存の成功を確認する jQueryUI ポップアップ ダイアログの後にさらにデータを入力できるようにします。
「SaveClose」は、ポストバックを通じてユーザーの入力をリストに保存し、コンテキスト バックアウトを実行してリスト ページに戻ります。
私の問題は、ユーザーが「保存」してから「SaveClose」を実行すると、保存するたびに新しいリスト項目が作成され、2 つの項目が作成されることです。
コードでは、これが発生することは明らかです。
public void SaveClose_Click(object sender, EventArgs e)
{
_ControlBinder.SaveToList(CurrentMode.Equals(FormMode.New), delegate(...) { ...}); Backout();
}
public void Save_Click(object sender, EventArgs e)
{
_ControlBinder.SaveToList(CurrentMode.Equals(FormMode.New), delegate(...) { ... });
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "tmp", "$(\"#savedDialog\").dialog(open);", true);
}
単に「保存」をクリックすると、フォームはリストに保存されますが、FormMode は変更されません。ChangeMode機能 を見つけましたが、機能させることができませんでした。
C# コードビハインドを使用してフォームのモードを変更する方法はありますか? (または、CurrentMode.Equals(FormMode.New) 以外に使用できるより良い条件)