-4

アプリケーションでユーザーにエラー メッセージを表示するために使用する radwindow があります。
私の目標は以下の通りです。
メッセージが警告/エラーでない場合、ユーザーがポップアップした radwindow で [OK] をクリックしたときにリダイレクトされるようにします。これを実現するために、操作が成功した場合は HiddenField 値を「1」に設定し、操作が失敗した場合は「0」に設定します。私の問題は、クライアント側で HiddenField の値を確認すると、IF ステートメントが常に true を返し、ページがリダイレクトされることです。

ここでは、hiddenfield 値を設定して radwindow メッセージを設定した場合を示します。

if(x)
{
   hfPasswordWarning.Value = "0";
   ShowMessage(MessageResource.ChangePasswordAuthenticateError,false);
}

else
{
   hfPasswordWarning.Value = "1";
   ShowMessage(MessageResource.ChangePasswordSuccess,true);
}

そして、私が問題を抱えているクライアント側のコードでは、IF ステートメントは常に true です。

var hv = $('#hfPasswordWarning').val();

    if (hv.val = "1") {
        window.location = "../Main/Login.aspx";
    } else {
        return false;
    }

Alert("xx") を追加して、else ステートメントに入るかどうかを確認しましたが、そうではありません。問題の説明をできる限り単純化しようとしました。ご理解いただきありがとうございます。

4

3 に答える 3

5

==の代わりにまたはを使用===して比較する必要があります=

  • x = yに割り当てyますx
  • x == yyxが大まかに等しいかどうかをチェックします
  • x === yyxが等しく、同じ型かどうか調べます

だからあなたがする必要があるのif (hv.val = "1")if (hv.val == "1")

于 2012-10-10T07:39:54.200 に答える
3

あなたが書いた

if (hv.val = "1")

しかし、これは代入です (コードで true と評価されます): 等しいかどうかを確認します(==値による等価) または===(値と型による等価)

于 2012-10-10T07:39:42.937 に答える