-4

응용 프로그램의 사용자에게 오류 메시지를 표시하는 데 사용하는 Radwindow가 있습니다.
내 목표는 아래와 같습니다.
메시지가 경고/오류가 아닌 경우 팝업 된 radwindow에서 "확인"을 클릭하면 사용자가 리디렉션되기를 원합니다. 이 작업을 수행하려면 작업이 성공하면 HiddenField 값을 "1"로 설정하고 작업이 실패하면 "0"으로 설정합니다. 내 문제는 클라이언트 쪽에서 HiddenField 값을 확인할 때 IF 문이 항상 true를 반환하고 페이지가 리디렉션된다는 것입니다.IF 문 항상 참

여기에 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; 
    } 

나는 경고문 ("xx")을 추가하여 else 문에 도달했는지 확인하지만 그렇지 않습니다. 나는 가능한 한 내 문제에 대한 설명을 단순화하려고 노력했다. 이해해 주셔서 감사합니다.

답변

3

당신은

if (hv.val = "1") 

을 썼다 그러나 이것은 할당 (코드에서 사실로 평가)입니다 : 평등을 확인 == (값에 의한 평등) 또는 === (값을 입력하여 평등)

+0

을 시도하는 경우 실제로 할당이 아닌 * 항상 * 사실이지만 공유 truthiness에서이 시도 할당 된 값. – ThiefMaster

+0

예, * true * 참으로 :) – fcalderan

+0

이제는 전혀 리디렉션되지 않습니다. 실종 된 것에 대해 유감스럽게 생각합니다. – user1595357

4
입니다

= 대신에 == 또는 ===을 사용해야합니다. yx가 평등하고

그래서 당신이 필요 동일한 유형의 경우 yx

  • x === y 검사 느슨하게 동일한 경우

    • x = yyx-
    • x == y 검사를 할당 대체합니까 if (hv.val = "1")if (hv.val == "1")

      로 바꿉니다. 비교 == 연산자 사용을 위해 할당에 사용되는 당신이 사용하고 6,
  • 1

    = 연산자는 당신의 문이

    if(hv.val=="1")