在我的表格中,我有两种不同的保存方式:
“保存”通过回发将用户的输入存储到列表中,并允许在 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) 之外的更好的条件)