条件に応じてアラートを表示するコードがあります。
protected void btnSave_Click(object sender, EventArgs e)
{
foreach (GridViewRow gvr in gvGroups.Rows)
{
CheckBox cbAdmin = (CheckBox)gvr.FindControl("cbAdmin");
CheckBox cbRemove = (CheckBox)gvr.FindControl("cbRemove");
Label lblID = (Label)gvr.FindControl("lblID");
int id;
bool idValid = int.TryParse(lblID.Text,out id);
bool isReadOnly = !cbAdmin.Checked;
if (idValid)
{
Group g = SecurityManager.GetGroup(id);
if (g.IsReadOnly != isReadOnly)
{
bool updateSuccess = SecurityManager.ChangeGroupPermissions(id, isReadOnly);
var master = Master as KezberProjectManager;
if (master != null)
{
master.ShowErrorAlert("Sample Error");
}
}
if (cbRemove.Checked)
{
bool removeEmpSuccess = SecurityManager.RemoveEmployeesFromGroup(id);
bool removeSuccess = SecurityManager.RemoveGroup(id);
}
}
}
BindGrid();
}
そしてこれは呼び出します:
public void ShowErrorAlert(string message)
{
error_alert.Visible = true;
lblError.Text = message;
}
マスターページが読み込まれると:
if (!IsPostBack)
{
success_alert.Visible = false;
error_alert.Visible = false;
}
唯一の問題は、アラートが表示されると、次回表示するように要求しなくても、アラートが表示されることです。必要な方法は、ShowErrorAlertを1回呼び出すと、一度だけ表示されるはずです。その後、保存ボタンをクリックしても変更が加えられない場合、showメソッドは呼び出されず、表示されないはずです。
これを行う方法はありますか?
ありがとう