0

これが私がやりたいことです。ユーザーが入力するフォーム (セクションとサブセクションの作成) があり、ユーザーが [保存] をクリックしたときに、データベースをチェックして、セクションに既存のものと同じ名前が付けられているかどうかを確認したいと考えています。作成されている場合は、続行する場合は複製を作成することを知らせる確認を取得したいと思います。はいをクリックした場合は続行する必要があり、そうでない場合は中止する必要があります。ここに私がこれまでに持っているもののいくつかの疑似コードがあります。

 protected void SaveButton_Click(object sender, EventArgs e)
{
    try
    {
        if (CheckForDuplicates())
        {
            //proceed normally
        }
    }
}

private bool CheckForDuplicates()
{
    //check database

            if (/*there are duplicates*/)
            {
                string message = "A duplicate name exists. Would you like to continue?";
                string scriptString = "<script language='javascript' 
                    type='text/javascript'>" + "return confirm('" + message + "');</script>";

                ScriptManager.RegisterStartupScript(this, this.GetType(), 
                    "script", scriptString, false);

                //here i would like to return their confirmation
            }
        }
    }
    return true;
}

すべての助けに感謝し、事前に感謝します!

4

1 に答える 1

0

ユーザーが確認した場合に JavaScript__doPostBack('','UserConfirmed');関数を呼び出すことができるように、Javascript を追加します。ScriptManager に登録している確認ロジックとともに、分離コードにロジックを追加するだけです。ポストバックが発生したら、ポストバックが実際に (ページ上の他のアクションではなく) ユーザーの確認によって開始されたことを確認できます。

public void Page_Load(object sender, EventArgs e)
{
  string parameter = Request["__EVENTARGUMENT"];
  //if parameter equals "UserConfirmed"
  //       User confirmed, so do whatever
  //
}

に関する情報__doPostBack: JavaScript __doPostBack 関数を理解する

于 2012-06-13T18:51:33.947 に答える