0

アプリケーションの一部の値に応じて、[OK]と[キャンセル]の付いた確認ボックスを表示する必要があります。[OK]をクリックすると続行して別のページに移動します。それ以外の場合は、[キャンセル]をクリックすると同じページに留まります。

私が抱えている問題は、次のようにreturnステートメントを追加しない限り、ポップアップが表示されないことです。

  if (true)
        {
         Page.ClientScript.RegisterStartupScript(this.GetType(), 
        "ConfirmBox", "confirm('The numbers selected are not in the directory,"
        + sb.ToString()+
        " you wish to continue?');", true);
                        return;
         }
    Response.Redirect("~/homepage.aspx");

ご覧のとおり、これはリターンのためにリダイレクトに到達しないため機能しませんが、条件がtrueであってもリターンがないと、ポップアップがスキップされます。これどうやってするの?

4

3 に答える 3

1

私が抱えている問題は、次のようにreturnステートメントを追加しない限り、ポップアップが表示されないことです。

ページライフサイクルがすべてのイベントの実行を完了すると、JavaScript codeが実行されます。したがって、ここではリターンは重要ではありません。


是正処置

コード(条件とRedirect別のページ)をJavaScript関数に移動します。で関数を呼び出しますRegisterStartupScript

于 2012-04-16T02:58:29.137 に答える
1

私はあなたのコードを試しました、そして行動はあなたと同じです。あなたに提供する私の解決策があります:

<script type="text/javascript">
function Redirect()
{
location.href = "~/homepage.aspx";
}
</script>
<script runat="server">
void yourFunc()
{
if (true)
        {
         Page.ClientScript.RegisterStartupScript(this.GetType(), 
        "ConfirmBox", "if(confirm('The numbers selected are not in the directory,"
        + sb.ToString()+
        " you wish to continue?') == true){Redirect();};", true);
         }
}
</script>

それがあなたを助けることができることを願っています。

于 2012-04-16T03:01:36.903 に答える
0

これはあなたの魂かもしれません。これは、確認ボックスからのユーザー入力に基づいてナビゲーションを制限するためのサンプルです。

こちらをチェック

于 2012-04-16T03:17:37.037 に答える